Django中HTML页面form的action用URL模板标签提示找不到URL如何解决
Django 模板form调用URL报404问题解决方案
直接错误原因
你HTML模板中的URL反向解析标签写法存在两处语法错误:
- 拼写错误:Django模板内置的URL反向解析标签是
{% url %},你代码中多写了末尾的s,写成了{% urls %} - 缺少空格:标签内的标签名和URL名称之间必须留空格,你写的
{% urls'accounts:signup'%}二者直接连写,无法被模板引擎正确解析
修正方法
把form标签的action属性修改为如下写法即可:
<form class="site-form" action="{% url 'accounts:signup' %}" method="post"> <!-- 补充csrf_token标签,否则POST请求会触发403权限错误 --> {% csrf_token %} <!-- 后续表单内容 -->
其他可选排查点
如果修改后仍报错,可依次检查以下配置:
- 确认
accounts应用已经添加到项目settings.py的INSTALLED_APPS列表中,否则accounts:命名空间无法被识别 - 确认你访问的页面是通过Django视图函数渲染返回的,不是直接打开的本地静态HTML文件,后者不会解析Django模板标签,会直接把模板语法当成普通字符串拼接为请求地址
- 检查URL配置中是否有其他路由规则优先级更高,提前匹配到了
/accounts/signup地址导致指向错误的视图
内容的提问来源于stack exchange,提问作者jasmine sh.g
相关产品推荐
相关产品推荐

