概述
有很多原因需要控制用户访问站点的某部分。
一个简单原始的限制方法是检查 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/ 。
如果用户已经登录, 正常地执行视图函数。 视图代码就可以假定用户已经登录了。
=
最后
以上就是幸福宝贝为你收集整理的在Django中限制已登录用户的访问的方法的全部内容,希望文章能够帮你解决在Django中限制已登录用户的访问的方法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复