Django测试应用注册页面出现404错误,请求排查解决
解决Django注册页面404错误的方法
你的404错误由以下几处配置问题导致,逐一修复即可:
1. 根URLconf的accounts路径缺少尾斜杠
在mysite/urls.py中,accounts路径定义未加尾斜杠,导致Django无法正确拼接子应用路由。修改为:
urlpatterns = [ path('',include('Sell.urls')), path('admin/', admin.site.urls), path('accounts/', include('accounts.urls')) # 添加尾斜杠 ]
2. 首页模板的注册链接路径错误
index.html里的注册链接使用了Windows风格的反斜杠,还额外添加了.html后缀——Django的URL是路由到视图函数,而非直接访问静态HTML文件。修改为标准正斜杠路径,推荐使用Django的URL反向解析(更可靠,避免路径变更时手动修改):
<!-- 替换原链接代码 --> <li><a href="{% url 'register' %}">Register</a></li>
若存在URL命名冲突,需给子应用URL添加命名空间:在
accounts/urls.py顶部添加app_name = 'accounts',然后链接改为{% url 'accounts:register' %}。
3. 子应用URL路径规范优化(可选但推荐)
在accounts/urls.py中,给register路径添加尾斜杠,符合Django的URL设计规范:
urlpatterns = [ path("register/", views.register, name="register") # 添加尾斜杠 ]
4. 注册页面表单的action路径修复
register.html中的表单action直接写register可能引发路径错误,同样改用URL反向解析:
<form action="{% url 'register' %}" method='post'>
完成以上修改后,访问http://127.0.0.1:8000/accounts/register/即可正常加载注册页面。
内容的提问来源于stack exchange,提问作者ash raf
相关产品推荐
相关产品推荐

