Django基础之auth模块
内容概要
用户认证模块auth
auth模块补充
auth_user表扩展字段
内容详细

auth模块
主要是用来做用户相关的功能
注册 登录 验证 修改密码 注销
访问admin需要管理员账号
该账号数据均来源于数据库迁移之后生成的auth_user表 如何创建admin管理员账号
createsuperuser
具体操作
from django.contrib import auth
# 校验用户名密码是否正确
auth.authenticate(request,username=username,password=password)
# 保存用户状态
auth.login(request,user_obj)
# 查看用户是否登录
request.user.is_authenticated()
# 获取用户对象
request.user
# 校验原密码是否正确
request.user.check_password()
# 修改密码
request.user.set_password()
request.user.save()
# 校验是否登录装饰器
from django.contrib.auth.decorators import login_required
"""
跳转全局配置
LOGIN_URL = '/lg/'
跳转局部配置
@login_required(login_url='/lg/')
"""
auth模块补充
1.用户注册
from django.contrib.auth.models import AbstractUser,User
# 操作auth_user写入数据不能使用create方法 密码不会自动加密
# User.objects.create(username=username,password=password,email=email)
# 创建普通用户
User.objects.create_user(username=username,password=password,email=email)
# 创建超级用户
User.objects.create_superuser(username=username, password=password, email=email)
2.用户注销
auth.logout(request)

auth模块用户表扩展字段
在auth_user表的基础之上还想增加额外的字段 并且还可以使用auth模块所有的功能
# 配合文件配置
# 告诉django使用我们自己定义的表来取代auth_user表
AUTH_USER_MODEL = 'app01.Userinfo' # 应用名.表名
# 一对一表关联(了解)
# 面向对象继承(掌握)
from django.contrib.auth.models import AbstractUser
class Userinfo(AbstractUser):
# 扩展AbstractUser表中没有的字段
phone = models.BigIntegerField()
info = models.CharField(max_length=255)
小结
1:校验用户名与密码
auth.authenticate(username=username, ...)
2:保存用户信息
auth.login(request, user_obj)
3:判断用户是否登录
request.user.is_authenticated()
4:装饰器
form django.contrib.auth.decorators import login_required
局部:@login_required(login_url='/login/') (灵活)
全局:配置--->LOGIN_URL = '/login/' (省事)
5:验证原密码(修改密码)
request.user.check_password(原密码)
6:修改密码(两步)
request.user.set_password(新密码)
request.user.save()
7:创建用户
命令行创建:createsupperuser(超级用户)(管理一般不会使用逻辑代码创建)
from django.contrib.auth.models import User
User.objexts.create()(创建的用户密码是明文)(不推荐)
User.objexts.create_user()(普通用户)

Django基础之auth模块的更多相关文章
- Django 2.0 学习(17):Django 用户认证(auth模块)
Django 用户认证(auth模块) 一.认证登陆 在进行用户登陆验证的时候,如果是自己写代码,就必须要先查询数据库,看用户输入的用户名是否存在于数据库中:如果用户存在于数据库中,然后再验证用户输入 ...
- [Django高级之Auth模块]
[Django高级之Auth模块] auth模块 ←详情点击查看 1.Auth模块是什么 Auth模块是Django自带的用户认证模块: 我们在开发一个网站的时候,无可避免的需要设计实现网站的用户系统 ...
- django中的auth模块以及分页器
1.auth模块 auth模块是Django提供的标准权限管理系统,可以提供用户身份认证,和权限管理 auth可以和admin模块配合使用, 快速建立网站的管理系统 在INSTALLED_APPS中添 ...
- Django权限系统auth模块详解
转自:原文出处 auth模块是Django提供的标准权限管理系统,可以提供用户身份认证, 用户组和权限管理. auth可以和admin模块配合使用, 快速建立网站的管理系统. 在INSTALLED_A ...
- django自关联,auth模块
一.自关联 写蛮好的一篇博客:https://www.cnblogs.com/Kingfan1993/p/9936541.html 1.一对多关联 1.表内自关联是指表内数据相关联的对象和表是相同字段 ...
- 1205 CSRF跨站请求与django中的auth模块使用
目录 今日内容 昨日回顾 基于配置文件的编程思想 importlib模块 简单代码实现 跨站请求伪造csrf 1. 钓鱼网站 如何实现 模拟该现象的产生 2. 解决问题 解决 {% csrf_toke ...
- Django框架中auth模块的详解
auth模块 auth模块是对登录认证方法的一种封装,本身就是一个对象,可以获取用户的详细信息,有了auth模块可以验证登录信息是否存在数据库中,还可以检验用户是否已经登录,校验密码等 auth方法 ...
- django中间件和auth模块
Django中间件 由django的生命周期图我们可以看出,django的中间件就类似于django的保安,请求一个相应时要先通过中间件才能到达django后端(url.views.template. ...
- Django CBV加装饰器、Django中间件、auth模块
一. CBV加装饰器 在视图层中,基于函数的视图叫FBV(function base views),基于类的视图叫CBV(class base views).当需要用到装饰器时,例如之前的基于Cook ...
随机推荐
- PhpStorm个性化设置推荐
预览 字体 字体使用jetbrains的mono,前往下载:如何安装,字体安装完成之后Restart,可在PhpStorm settings中搜索 font 进行启用 mono 字体 主题 主题推荐使 ...
- layui图片上传
<!DOCTYPE html><html><head> <meta charset="utf-8"> <title>up ...
- 使用FastDFS进行文件管理
使用FastDFS进行文件管理 FastDFS简介 FastDFS: FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储.文件同步.文件访问(文件上传.文件下载)等, ...
- 转: inline关键字使用
1.inline用在函数声明时,还是函数定义时?还是两边都加? 首先,内联函数声明和定义最好在同一个文件中,其它的情况没有实用上的意义. 只要在同一个文件中,声明和定义至少其一加"inlin ...
- OCR-Form-Tools项目试玩记录(一)本地部署
OCR-Form-Tools是微软的一个开源代码库,包含微软表单识别和OCR服务相关的多种工具.Github仓库地址 目前,表单标注工具(OCR Form Labeling Tool)是首个发布到本该 ...
- 如何通过在线CRM提升企业竞争力?
随着信息技术的快速发展,在线CRM系统也得到了更加广泛的应用,已经在企业中逐渐开始普及.CRM系统对于优化企业流程有着十分重要的意义,它能够让企业的经营管理更加敏捷,并且可以快速地响应企业的业务流程. ...
- mysql多线程备份与还原工具mydumper
(一)mydumper介绍 之前我们已经学过如何使用mysqldump备份恢复数据库:<mysql逻辑备份与还原工具mysqldump>,就目前来说,mysqldump是使用最广泛的MyS ...
- C#是怎么跑起来的
解释流程前,需要了解一些基本的概念. 基本概念解释: CPU :中央处理器,计算机的大脑,内部由数百万至数亿个晶体管组成,是解释和运行最终转换成机器语言(二进制代码)的地方.机器语言是通过CPU内存的 ...
- 像素 PIXEL 图片的基本单位 像素非常小 图片是成千上万的像素组成 显示/屏幕分辨率 (DPI 屏幕分辨率)
像素 PIXEL 图片的基本单位 像素非常小 图片是成千上万的像素组成 显示/屏幕分辨率 (DPI 屏幕分辨率) 图像分辨率 (PPI) 1920*1080是像素点长度1920个像素点 X1080个像 ...
- 「 刘一哥与GIS的故事 」专业技术博文专栏目录索引
刘一哥,多年研究地图学.地理信息系统.遥感.摄影测量和GPS等应用,精通ArcGIS.MapGIS.ENVI.Erdas.CASS.Pix4d.CC.PhotoScan.Inpho.EPS.Globa ...
