您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在Django中限制已登录用户的访问的方法

5b51 2022/1/14 8:20:58 python 字数 3185 阅读 464 来源 www.jb51.cc/python

有很多原因需要控制用户访问站点的某部分。 一个简单原始的限制方法是检查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/ 。

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

总结

以上是编程之家为你收集整理的在Django中限制已登录用户的访问的方法全部内容,希望文章能够帮你解决在Django中限制已登录用户的访问的方法所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶