Django:如果登录urls.py,则重定向到不同的页面

时间:2018-02-07 04:11:27

标签: python django django-urls

我有这个网址:

url(r'^signup/$', TemplateView.as_view(template_name='users/signup.html')),

我希望将用户重定向到其他网址,如果他们尝试访问此页面并且已经登录。

无论如何我可以在urls.py中执行此操作,还是必须为其编写视图?

2 个答案:

答案 0 :(得分:1)

我不知道如何在urls.py中执行此操作,因此会在视图中执行此操作。

您可以使用以下方式进行检查:

{% if user.is_authenticated %}

您也可以在模板中执行此操作:

{{1}}

这个问题可能会有所帮助: How to check if a user is logged in (how to properly use user.is_authenticated)?

答案 1 :(得分:1)

您可以使用HttpResponseRedirect

像这样的东西

from django.http import HttpResponseRedirect

def signup(request): # this is your signup view
    if request.user.is_authenticated:
        return HttpResponseRedirect('/dashboard/')

看起来还有一个redirect快捷方式(最终也会HttpResponseRedirect)。