如何解决如何在 Django views.py 中使用 int: 参数呈现重定向 URL?
我正在尝试在 Django 中创建一个表单,该表单在特定帐户下未正确填写表单时显示错误。我希望它重新路由到与表单相同的页面,并且 url 必须有一个 int: 参数。对于我的 urls.py,我有 'edit/int:user_id>,views.edit.
我苦恼的地方是如何在views.py 中传递渲染重定向?我试过渲染重定向('/edit/int:user_id')、('/edit/int:user.id')、('/edit/{user.id}')等,但没有任何效果。每次我只是得到“找不到路径”。
如何根据我的 urlpatterns 使用 int 参数在 views.py 中编写重定向?
views.py
def update(request,user_id):
errors = User.objects.empty_validator(request.POST)
if len(errors):
for key,value in errors.items():
messages.error(request,value)
return redirect('update_user',user.id)
else:
if 'user_id' in request.session:
user = User.objects.get(id=job_id)
user.title = request.POST['title']
user.save()
return redirect(f'/dashboard')
return redirect('/')
解决方法
首先,您应该通过更新您的 urls.py
来命名您的路线:
path('edit/<int:user_id>/update',views.update,name='update_user')
然后,在您看来,您可以像这样使用 redirect 函数:
redirect('update_user',user_id)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。