微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 Django views.py 中使用 int: 参数呈现重定向 URL?

如何解决如何在 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 举报,一经查实,本站将立刻删除。