如何修复Django注册路由报错 /account/signup/ 提示SignUpForm未定义的NameError
错误原因
当前App_Login/views.py的代码作用域内未加载到SignUpForm类的有效定义,触发Python名称查找失败,直接抛出NameError。
可落地修复步骤
- 核对自定义表单的存储路径:Django项目的自定义表单通常统一放置在对应App根目录的
forms.py文件中,打开该文件确认你定义的表单类名,保证和视图中调用的SignUpForm拼写完全匹配(注意排查是否存在把Form拼成From的笔误,和你之前描述的自定义名称偏差对应) - 在
App_Login/views.py顶部的导入区域,添加对应导入语句:from .forms import SignUpForm - 如果你之前是把自定义表单直接写在
views.py文件内,需要检查类定义的位置:必须将SignUpForm的类定义写在sign_up视图函数的代码前面,不能把类定义放在视图函数的调用逻辑后方,否则Python按从上到下解析代码时,会在调用位置找不到类的定义 - 完成代码调整后重启Django开发服务器,重新访问
/account/signup/路由即可正常加载注册表单,不再触发名称未定义的报错
内容的提问来源于stack exchange,提问作者Noyon Barman
相关产品推荐
相关产品推荐

