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

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

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

  2021-03-21 我要评论
想了解在Django中限制已登录用户的访问的方法的相关内容吗,在本文为您仔细讲解Django限制已登录用户的访问的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点: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/ 。

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

猜您喜欢

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们