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

Django注册表单无法提交问题求助

问题排查与解决

核心问题:表单标签错误

你的HTML模板里,<form>标签被错误地自闭合了:

<form method="POST" action="{% url 'register' %}"></form>

这会导致后续的{% csrf_token %}、{{ form.as_p}}和提交按钮都不在表单范围内,点击提交按钮自然不会触发表单的POST请求,也就无法提交数据。

修正后的模板代码

把表单标签改为正常闭合,将所有表单内容包裹在<form>标签内:

<h1>Register</h1>

<div>
    <form method="POST" action="{% url 'register' %}">
        {% csrf_token %}
        {{ form.as_p}}
        <input type="submit" value="register" />
    </form>
</div>

额外检查点(如果修正后仍有问题)

  • 确认CustomUserCreateForm中的name字段是否在你的自定义User模型中存在,Django默认User模型没有name字段,若使用自定义用户模型,需确保模型确实包含该字段,否则表单会静默验证失败。
  • 可在视图的POST分支添加日志打印,排查隐藏的验证错误:
    if request.method == 'POST':
        form = CustomUserCreateForm(request.POST)
        print(form.errors)  # 打印错误信息到控制台
        if form.is_valid():
            user = form.save(commit=False)
            user.save()
            login(request, user)
            return redirect('login')
    
  • 确认urls.py中register路由配置正确,能映射到register_page视图。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 16:10:28