45fan.com - 路饭网

搜索: 您的位置主页 > 网络频道 > 阅读资讯:Django如何限制已登录用户访问?

Django如何限制已登录用户访问?

2015-08-10 08:29:24 来源:www.45fan.com 【

Django如何限制已登录用户访问?

有很多原因需要控制用户访问站点的某部分。

一个简单原始的限制方法是检查 request.user.is_authenticated() ,然后重定向到登陆页面:

from django.http import HttpResponseRedirect

def my_view(request):
 if not request.user.is_authenticated():
  return HttpResponseRedirect('/accounts/login/?next=%s' % request.path)
 # ...

或者显示一个出错信息:

def my_view(request):
 if not request.user.is_authenticated():
  return render_to_response('myapp/login_error.html')
 # ...

作为一个快捷方式, 你可以使用便捷的 login_required 修饰符:

from django.contrib.auth.decorators import login_required

@login_required
def my_view(request):
 # ...

login_required 做下面的事情:

如果用户没有登录, 重定向到 /accounts/login/ , 把当前绝对URL作为 next 在查询字符串中传递过去, 例如: /accounts/login/?next=/polls/3/ 。

如果用户已经登录, 正常地执行视图函数。 视图代码就可以假定用户已经登录了。
=


本文地址:http://www.45fan.com/a/question/17272.html
Tags: Django 登录 限制
编辑:路饭网
关于我们 | 联系我们 | 友情链接 | 网站地图 | Sitemap | App | 返回顶部