如何在登录Django loginrequiredmixin后重定向到用户请求的url

2024-09-30 14:31:11 发布

您现在位置:Python中文网/ 问答频道 /正文

在使用Django>视图中限制Django>的访问。如果用户没有登录,它将重定向到登录页面。但问题是,登录后,它不是重定向到用户键入的url,而是转到默认页面?在

例如,用户尝试登录页面站点/站点创建。如果用户未登录,则转到登录页面。登录后,它将转到的默认页面登录。这里我想将用户重定向到站点/站点创建第页。示例视图

class CreateSite(LoginRequiredMixin, CreateView):
    model = Site
    fields = ['name','site_category','description',]

登录/视图.py在

^{pr2}$

编辑-->;登录视图.py补充 我怎么能做到呢?谢谢你


Tags: django用户py视图url示例键入站点
1条回答
网友
1楼 · 发布于 2024-09-30 14:31:11

LoginRequiredMixin将重定向到login_url,并将原始URL添加为参数redirect_field_name(link to code)。在

login_urlredirect_field_name是两个可以在视图中定义的属性,如下所示:

class MyView(LoginRequiredMixin, View):
    login_url = '/login/'
    redirect_field_name = 'redirect_to'

此示例将重定向到/login/?redirect_to={current_url}

未指定时,这两个字段具有默认值:


在您的例子中,您的登录视图似乎没有接受nextURL参数。这两个选项是:

  • 使用nextURL参数更改登录视图。在
  • 通过添加redirect_field_name = 'your_field_name'更改视图以发送正确的重定向字段名

相关问题 更多 >