在启动django框架运行之后,我进行测试用户的登录功能模块,
我输入正确的用户名和密码以及验证码之后,本来正常情况是直接跳转到主页面的,
但是发现跳转到主页面不成功,报错了:
然后同时也发现Pycharm终端报了这样一个错误,这个错误的意思是:
未找到参数为“(1,)”的“web_作业_编辑”的反转。尝试了1种模式:['web/web/employer/web\u job\u edit$']
Reverse for 'web_job_edit' with arguments '(1,)' not found. 1 pattern(s) tried: ['web/web/employer/web_job_edit$']
解决方法:
(1)查看我的项目的app应用web/views.py里的web_job_edit这个函数,看看是不是这个函数哪写错了,
def web_job_edit(request, jid=0):
"""企业用户操作:编辑岗位信息"""
try:
ob = Job.objects.get(job_id=jid)
context = {'job': ob}
return render(request, "web/job/edit.html", context)
except Exception as err:
print(err)
context = {'info': "没有找到要修改的信息!"}
return render(request, "web/job/info.html", context)
结果没有发现问题。
(2)但是我猜想是在web/urls.py的代码里写的这几句路由转发的代码出问题的原因导致了报错:
应该就是这儿的问题, 报错的内容说是“未找到参数为“(1,)”的“web_job_edit”的reverse。”
发现了原来是我没有把参数“jid”写进去, 那么应该在url的path里添加一个“<int:jid>”:
# """企业用户登录之后的路由"""
path('employer/web_job_view/<int:jid>', views.web_job_view, name="web_job_view"), # 查看
path('employer/web_job_add', views.web_job_add, name="web_job_add"), # 添加
path('employer/web_job_edit/<int:jid>', views.web_job_edit, name="web_job_edit"), # 编辑
path('employer/web_job_delete/<int:jid>', views.web_job_delete, name="web_job_delete"),
# 删除
path('employer/web_job_audit/<int:jid>', views.web_job_audit, name="web_job_audit"), # 审核
(3)再次重启django项目之后,发现这个报错问题消失了,好了,问题成功解决!!
在PyCharm终端的运行结果为:
主页面跳转成功,问题解决了。