在Django中限制已登录用户的访问的方法
2015-07-23 10:24
639 查看
有很多原因需要控制用户访问站点的某部分。
一个简单原始的限制方法是检查 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/ 。
如果用户已经登录, 正常地执行视图函数。 视图代码就可以假定用户已经登录了。
=
您可能感兴趣的文章:
相关文章推荐
- 网易云音乐8亿用户背后的伤疤
- windows server域用户提升到本地更高权限组中的方法
- 管理 Linux 系统中的用户
- 个人用户防黑指南
- SQL Server提示"选定的用户拥有对象,所以无法除去该用户”
- PowerShell查看进程的所属用户
- C#创建windows系统用户的方法
- MongoDB系列教程(四):设置用户访问权限
- 用户的详细注册和判断
- Oracle 添加用户并赋权,修改密码,解锁,删除用户的方法
- SQL Server"错误 21002: [SQL-DMO]用户 * 已经存在问题解决
- windows+apache+mod_python配置django运行环境
- python Django连接MySQL数据库做增删改查
- django自定义Field实现一个字段存储以逗号分隔的字符串
- mysql误删root用户恢复方法
- php+mysql实现用户注册登陆的方法
- oracle创建删除用户示例分享(oracle删除用户命令及授权)
- php实现的用户查询类实例
- php后台如何避免用户直接进入方法实例
- Windwos服务器远程桌面限制用户使用同一个会话的3种设置方法