在Django中限制已登录用户的访问的方法_python教程-查字典教程网
在Django中限制已登录用户的访问的方法
在Django中限制已登录用户的访问的方法
发布时间:2016-12-28 来源:查字典编辑
摘要:有很多原因需要控制用户访问站点的某部分。一个简单原始的限制方法是检查request.user.is_authenticated(),然后重定...

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

一个简单原始的限制方法是检查 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/ 。

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

=

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新python学习
    热门python学习
    脚本专栏子分类