You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django中献血信息收集表单无法显示问题求助

献血表单无法加载的问题修复

你代码里有几个关键错误导致表单无法正常显示,逐一修正即可:

1. 表单未实例化

在views.py里,你直接引用了表单类donationForm,而没有创建它的实例,模板无法渲染类本身。
错误代码:

form=donationForm

修正为:

form = donationForm()

2. 上下文变量名拼写错误

你在render里传递的变量名是from,但模板里用的是form,而且from是Python关键字,不能用作变量名。
错误代码:

return render(request, 'main\donation.html', {'from':form})

修正为:

return render(request, 'main/donation.html', {'form': form})

3. 路径使用反斜杠导致转义问题

Django模板路径应该用正斜杠/,反斜杠\可能会被解析为转义字符,导致找不到模板文件:

  • views.py里的main\donation.html改为main/donation.html
  • donation.html里的main\design.html改为main/design.html

4. POST请求未正确处理(可选但重要)

当前POST请求只是返回空表单,没有处理用户提交的数据,修正后可以正常处理表单提交:
修正后的views.py完整代码:

from .forms import donationForm
from .models import donate
from django.shortcuts import render, redirect

def donation(request):
    if request.method == 'POST':
        form = donationForm(request.POST)
        if form.is_valid():
            form.save()
            return redirect('donation')  # 提交成功后重定向到表单页面
    else:
        form = donationForm()
    return render(request, 'main/donation.html', {'form': form})

额外规范建议(不影响功能但符合Django惯例)

  • 模型类名应该大写开头,把donate改为Donate,同时更新forms.py里的引用
  • 字段名doner_ID改为donor_id(小写加下划线的蛇形命名法)

内容的提问来源于stack exchange,提问作者Yahalomit Vaizman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 08:12:11