Django登录按钮点击后无法重定向至首页问题求助
登录后无法重定向至首页的问题排查与修复
核心问题:表单标签拼写错误
你的login.html里的表单标签写成了<from>,正确应为<form>——这个错误会导致表单无法正常提交POST请求,登录逻辑根本没触发,自然不会执行重定向操作。
修复步骤
- 修正login.html的表单标签
将错误代码:
<from method="POST"> {%csrf_token %} {{form.as_p}} <input type="submit" value="Login"> </from>
替换为:
<form method="POST"> {%csrf_token %} {{form.as_p}} <input type="submit" value="Login"> </form>
额外优化建议(非核心问题,可避免潜在bug)
- 移除urls.py中重复的导入项
你的urls.py里重复导入了pplCreate,修改为:
from django.urls import path from .views import pplCreate, pplList, pplDetail, pplUpdate, pplDelete, authView urlpatterns = [ path('login/', authView.as_view(),name='login'), path('', pplList.as_view(), name='pplLst'), path('people/<int:pk>', pplDetail.as_view(), name='pplDet'), path('people-update/<int:pk>', pplUpdate.as_view(), name='pplUpd'), path('people-create/', pplCreate.as_view(), name='pplCre'), path('people-delete/<int:pk>', pplDelete.as_view(), name='pplDel'), ]
- 删除authView中多余的fields配置
LoginView默认使用AuthenticationForm,无需设置fields = '__all__',直接删除该行即可。
验证修复效果
修改完成后重启服务,使用正确凭据登录,即可正常重定向至pplLst对应的首页。
内容的提问来源于stack exchange,提问作者Vignesh
相关产品推荐
相关产品推荐

