Django的Auth模块
Django的Auth模块提供了用户认证系统,它处理用户账号、组、权限以及基于cookie的用户会话。以下是使用Django Auth模块的一些基本方法:
用户管理:
创建用户:
from django.contrib.auth.models import User
user = User.objects.create_user('username', 'email@example.com', 'password')
更改密码:
user.set_password('new_password')
user.save()
组管理:
创建组:
from django.contrib.auth.models import Group
group = Group.objects.create(name='group_name')
将用户添加到组:
group.user_set.add(user)
权限管理:
为用户添加权限:
user.user_permissions.add(permission)
用户登录:
在视图中使用
authenticate
和login
函数处理登录:
from django.contrib.auth import authenticate, login
user = authenticate(request, username='username', password='password')
if user is not None:
login(request, user)
- 用户登出:
from django.contrib.auth import logout
logout(request)
装饰器:
使用
login_required
装饰器强制用户登录:
from django.contrib.auth.decorators import login_required
@login_required
def my_view(request):
# ...
模板标签:
在模板中使用
{% if user.is_authenticated %}
来检查用户是否登录:
{% if user.is_authenticated %}
<p>Welcome, {{ user.username }}.</p>
{% else %}
<p>Welcome, new user.</p>
{% endif %}
以上是Django Auth模块的一些基本用法,具体使用时需要根据项目需求和Django版本进行相应的调整。
评论已关闭