auth相关模块
# auth主认证模块
from django.contrib.auth.models import auth
#对应数据库,可以创建添加记录
from django.contrib.auth.models import User
匿名用户
username 为 None
….
# if有这个用户返回user对象,否则返回None
# 先验证是否有该用户
user = auth.authenticate(username=username, password=pwd)
if user:
auth.login(request, user) # 登陆
'''request.user: 当前登陆对象全局,视图模版中都可以使用'''
if request.user.is_authenticated: # 判断用户是否通过认证
# request.user: 可以在模版中直接调用
print('登陆成功')
from django.contrib.auth.models import User
def reg(request):
if request.method == 'POST':
user = request.POST.get('name')
pwd = request.POST.get('pwd')
# 插入信息
user_info = User.objects.create_user(username=user, password=pwd)
'''可以创建普通用户和超级用户create_user'''
清空session
def logout(request):
auth.logout(request) # 注销
return redirect('/login/') # 注销并返回登陆页面
验证装饰器,看哪些页面需要登陆才能访问,如果没有登陆跳转设置的页面去
setting.py
LOGIN_URL = '/login/' # 用于auth模块 装饰器校验返回页面
视图
from django.contrib.auth.decorators import login_required
@login_required()
def test(request): # 需要验证的页面
...
!!设置完必须保存才生效
user.set_password(password='')
user.save()