【发布时间】:2020-05-24 07:47:27
【问题描述】:
我正在编写一个具有以下功能的练习网站
1) 显示员工数据 (localhost:8000/payroll)
2) 添加员工 (localhost:8000/addemployee)
3) 编辑员工 (localhost:8000/editemployee)
4) 下载报告(localhost:8000/downloadreport)
下面的屏幕截图显示了发生的操作。
我的 deleteemployee 视图的代码如下,如果删除成功,我使用渲染将用户带回我的主页(至少我认为它应该是这样工作的)。但是,如果您注意到 URL 从未更改为索引,即 localhost:8000/payroll,即使显示主页,删除员工 URL 仍会显示。我在这里做错了什么?
点击删除后的预期网址如下 http://127.0.0.1:8000/payroll/
点击删除后的实际网址如下 http://127.0.0.1:8000/payroll/deleteemployee?employee_id=32
Python 版本 -- 3.7 Django 版本 -- 3.0
try:
e = Employee.objects.get(employee_id = request.GET.get('employee_id'))
e.delete()
employee_list = Payroll.objects.select_related('employee_id')
return render(request, 'index.html',{'employee_list' : employee_list })
except Exception:
return render(request, 'error.html',{'error':'Delete Operation Failed'})```
【问题讨论】:
-
如果您想在客户端浏览器中更改 URL,您需要使用重定向:docs.djangoproject.com/en/3.0/topics/http/shortcuts/#redirect
-
非常感谢!!!根据阅读文档,我知道渲染不正确。现在更改为 redirect('/payroll') 并且工作正常。
-
我已添加我的评论作为答案,请接受。还要注意使用
reverse来生成url。