Django:如果在 urls.py 中登录,则重定向到不同的页面
Posted
技术标签:
【中文标题】Django:如果在 urls.py 中登录,则重定向到不同的页面【英文标题】:Django: Redirect to different page if logged in in urls.py 【发布时间】:2018-07-17 06:35:40 【问题描述】:我有这个网址:
url(r'^signup/$', TemplateView.as_view(template_name='users/signup.html')),
如果用户尝试访问此页面并且已经登录,我希望用户被重定向到不同的 url。
无论如何我可以在 urls.py 中执行此操作,还是必须为它编写一个视图?
【问题讨论】:
【参考方案1】:我不知道在 urls.py 中执行此操作的方法,因此会在视图中执行此操作。
你可以用这个来检查:
if request.user.is_authenticated:
# Do something
您也可以在模板中执行此操作:
% if user.is_authenticated %
这个问题可能会有所帮助: How to check if a user is logged in (how to properly use user.is_authenticated)?
【讨论】:
【参考方案2】:你可以使用HttpResponseRedirect
类似的东西
from django.http import HttpResponseRedirect
def signup(request): # this is your signup view
if request.user.is_authenticated:
return HttpResponseRedirect('/dashboard/')
看起来还有一个redirect
快捷方式(最终也有一个HttpResponseRedirect
)。
【讨论】:
以上是关于Django:如果在 urls.py 中登录,则重定向到不同的页面的主要内容,如果未能解决你的问题,请参考以下文章