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


Posted in Python onJuly 23, 2015

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

一个简单原始的限制方法是检查 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正则匹配查询港澳通行证办理进度示例分享
Dec 27 Python
Python的迭代器和生成器使用实例
Jan 14 Python
Python构造函数及解构函数介绍
Feb 26 Python
使用IPython来操作Docker容器的入门指引
Apr 08 Python
深入解析Python中的descriptor描述器的作用及用法
Jun 27 Python
Python 3 判断2个字典相同
Aug 06 Python
使用Django和Postgres进行全文搜索的实例代码
Feb 13 Python
Python中求对数方法总结
Mar 10 Python
深入浅析Python代码规范性检测
Jul 31 Python
Python连接Impala实现步骤解析
Aug 04 Python
Scrapy项目实战之爬取某社区用户详情
Sep 17 Python
python爬虫爬取网页数据并解析数据
Sep 18 Python
详解Django框架中用户的登录和退出的实现
Jul 23 #Python
在Django的session中使用User对象的方法
Jul 23 #Python
Django的session中对于用户验证的支持
Jul 23 #Python
在Django的视图(View)外使用Session的方法
Jul 23 #Python
在Python的Django框架的视图中使用Session的方法
Jul 23 #Python
详解Python的Django框架中的Cookie相关处理
Jul 22 #Python
在Django中使用Sitemap的方法讲解
Jul 22 #Python
You might like
php安装ssh2扩展的方法【Linux平台】
2016/07/20 PHP
[全兼容哦]--实用、简洁、炫酷的页面转入效果loing
2007/05/07 Javascript
JavaScript 直接操作本地文件的实现代码
2009/12/01 Javascript
jQuery中append、insertBefore、after与insertAfter的简单用法与注意事项
2020/04/04 Javascript
IE6 fixed的完美解决方案
2011/03/31 Javascript
div模拟选择框示例代码
2013/11/03 Javascript
浅谈checkbox的一些操作(实战经验)
2013/11/20 Javascript
禁止拷贝网页内容的js代码
2014/01/22 Javascript
如何用js 实现依赖注入的思想,后端框架思想搬到前端来
2015/08/03 Javascript
功能强大的Bootstrap效果展示(二)
2016/08/03 Javascript
遍历json获得数据的几种方法小结
2017/01/21 Javascript
js仿新浪微博消息发布功能
2017/02/17 Javascript
Nodejs回调加超时限制两种实现方法
2017/06/09 NodeJs
JavaScript事件委托原理与用法实例分析
2018/06/07 Javascript
详解在React项目中安装并使用Less(用法总结)
2019/03/18 Javascript
VUE实现图片验证码功能
2020/11/18 Javascript
JavaScript Tab菜单实现过程解析
2020/05/13 Javascript
vue 使用async写数字动态加载效果案例
2020/07/18 Javascript
Python实现Windows上气泡提醒效果的方法
2015/06/03 Python
python http接口自动化脚本详解
2018/01/02 Python
Python实现数据可视化看如何监控你的爬虫状态【推荐】
2018/08/10 Python
Python-Flask:动态创建表的示例详解
2019/11/22 Python
python 使用三引号时容易犯的小错误
2020/10/21 Python
python 实现客户端与服务端的通信
2020/12/23 Python
Ellos丹麦:时尚和服装在线
2016/09/19 全球购物
物流合作计划书
2014/01/10 职场文书
法学专业求职信
2014/07/15 职场文书
2014年国庆晚会主持词
2014/09/19 职场文书
乡镇民主生活会发言材料
2014/10/20 职场文书
2014年幼儿园个人工作总结
2014/11/10 职场文书
优秀教师事迹材料
2014/12/15 职场文书
人为什么会“幸灾乐祸”?
2019/08/06 职场文书
辞职报告(范文三篇)
2019/08/27 职场文书
python基础之文件操作
2021/10/24 Python
Mysql排查分析慢sql之explain实战案例
2022/04/19 MySQL
索尼ICF-5900W收音机测评
2022/04/24 无线电