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

 更新时间:2015年07月23日 10:24:50   投稿:goldensun  
这篇文章主要介绍了在Django中限制已登录用户的访问的方法,Django是最具人气的Python开发框架,需要的朋友可以参考下

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

一个简单原始的限制方法是检查 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加载配置的过程详解

    这篇文章主要介绍了Django加载配置的过程详解,包括Django服务启动 manage.py的详细介绍,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • Python使用Pickle模块进行数据保存和读取的讲解

    Python使用Pickle模块进行数据保存和读取的讲解

    今天小编就为大家分享一篇关于Python使用Pickle模块进行数据保存和读取的讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-04-04
  • Python实现简易凯撒密码的示例代码

    Python实现简易凯撒密码的示例代码

    密码的使用最早可以追溯到古罗马时期,《高卢战记》有描述恺撒曾经使用密码来传递信息,即所谓的“恺撒密码”。本文将利用Python实现简易的凯撒密码,感兴趣的可以了解一下
    2022-09-09
  • Python+unittest+DDT实现数据驱动测试

    Python+unittest+DDT实现数据驱动测试

    这篇文章主要介绍了Python+unittest+DDT实现数据驱动测试,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • python 正则式使用心得

    python 正则式使用心得

    对于想学习python 正则的朋友需要了解的。
    2009-05-05
  • python调用staf自动化框架的方法

    python调用staf自动化框架的方法

    今天小编就为大家分享一篇python调用staf自动化框架的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • 使用Python实现跳一跳自动跳跃功能

    使用Python实现跳一跳自动跳跃功能

    这篇文章主要介绍了使用Python实现跳一跳自动跳跃功能,本文图文并茂通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-07-07
  • python保存log日志,实现用log日志画图

    python保存log日志,实现用log日志画图

    今天小编就为大家分享一篇python保存log日志,实现用log日志来画图,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • python中实现将多个print输出合成一个数组

    python中实现将多个print输出合成一个数组

    下面小编就为大家分享一篇python中实现将多个print输出合成一个数组,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • 详解Django rest_framework实现RESTful API

    详解Django rest_framework实现RESTful API

    这篇文章主要介绍了详解Django rest_framework实现RESTful API,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05

最新评论