Django路径匹配错误咨询:=/login/路径无匹配项原因排查
错误原因分析:路径中多余的等号导致URL匹配失败
错误提示里的请求路径是=/login/,但你在urls.py中配置的合法路径是login/——路径开头多了一个多余的等号=,这是Django无法匹配到对应URL规则的直接原因。
等号的常见来源:
- 检查你的登录模板
base/login_register.html中的表单action属性:
如果表单写成了类似<form action="=/login/" method="POST">,或者使用Django模板URL标签时误加了等号(比如action="={% url 'login' %}"),都会生成带多余等号的请求路径。 - 排查是否有其他代码(比如重定向逻辑、前端JS跳转)错误生成了带等号的URL,导致请求路径异常。
额外的代码优化提示(与当前路径错误无关,但可避免后续问题):
- 你的
loginPage视图中,try-except块没有处理username为空的情况(比如GET请求时request.POST.get('username')返回None),会触发User.objects.get(username=None)的异常,建议先判断username是否存在再执行查询。 - 拼写错误:提示信息里的
user dose not exist应该改为user does not exist。
内容的提问来源于stack exchange,提问作者Pathum Madhuranga
相关产品推荐
相关产品推荐

