Django的用户模块与权限系统的示例代码的用户模块与权限系统的示例代码
主要介绍了Django的用户模块与权限系统的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者
工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
一一 导言导言
设计一个好的用户系统往往不是那么容易,Django提供的用户系统可以快速实现基本的功能,并可以在此基础上继续扩展以
满足我们的需求。
先看看Django的用户系统都提供哪些功能:
1. 提供用户模块(User Model)
2. 权限验证(默认添加已有模块的增加删除修改权限)
3. 用户组与组权限功能
4. 用户鉴权与登录功能
5. 与用户登录验证相关的一些函数与装饰方法
如配置了Django的用户系统,仅需调用Django提供的几个函数,便可实现用户的登录,注销,权限验证等功能。例如以下情
景
1.登录登录
# some_view.py
from django.contrib.auth import authenticate, login
def login(request):
username = request.POST['username']
password = request.POST['password']
# Django提供的authenticate函数,验证用户名和密码是否在数据库中匹配
user = authenticate(username=username, password=password)
if user is not None:
# Django提供的login函数,将当前登录用户信息保存到会话key中
login(request, user)
# 进行登录成功的操作,重定向到某处等
...
else:
# 返回用户名和密码错误信息
...
2.注销
# some_view.py
from django.contrib.auth import logout
def logout(request):
# logout函数会清除当前用户保存在会话中的信息
logout(request)
3.验证是否登录
# some_view.py
def some_fuction(request):
user = request.user
if user.is_authenticated:
# 已登录用户,可以往下进行操作
else:
# 返回要求登录信息
4.验证是否有权限
# some_view.py
def some_fuction(request):
user = request.user
if user.has_perm('myapp.change_bar'):
# 有权限,可以往下进行操作
else:
# 返回禁止访问等信息
二二 用户模块用户模块