内容概要
- csrf相关装饰器
- 基于中间件思想编写项目
- auth认证模块
- auth模块方法大全
- auth扩展表字段
- 项目开发流程
- bbs数据表分析
内容详情
csrf相关装饰器
基于中间件思想编写项目
auth认证模块
# django提供给你快速完成用户相关功能的模块
用户相关功能:创建、认证、编辑...
# django也配套提供了一张'用户表'
执行数据库迁移命令之后默认产生的auth_user
# django自带的admin后台管理用户登录参考的就是auth_user表
创建admin后台管理员用户:run manage.py task>>:createsuperuser
自动对用户密码进行加密处理并保存
auth模块方法大全
from django.contrib import auth
1.验证用户名和密码是否正确
auth.authenticate()
2.保存用户登录状态
auth.login()
3.获取当前用户对象
request.user
4.判断当前用户是否登录
request.user.is_authenticated()
5.校验登录装饰器
from django.contrib.auth.decorators import login_required
@login_required(login_url='/lg/') # 局部配置
@login_required # 全局配置
LOGIN_URL = '/lg/' # 需要在配置文件中添加配置
6.修改密码
request.user.check_password()
request.user.set_password()
request.user.save()
7.注销登录
auth.logout(request)
8.注册用户
from django.contrib.auth.models import User
User.objects.create_superuser()
User.objects.create_suser()
auth扩展表字段
# 方式1:编写一对一表关系(了解)
# 方式2:类继承(推荐)
from django.contrib.auth.models import AbstractUser
class Users(AbstractUser):
# 编写AbstractUser类中没有的字段 不能冲突!!!
phone = models.BigIntegerField()
addr = models.CharField(max_length=32)
AUTH_USER_MODEL = 'app01.Users'
"""
1.类继承之后 需要重新执行数据库迁移命令 并且库里面是第一次操作才可以
2.auth模块所有的方法都可以直接在自定义模型类上面使用
自动切换参照表
"""
ps:课下可以先继承表 之后才练习auth所有的方法
项目开发流程
bbs数据表分析