Django 【认证系统】auth
本篇内容
介绍Django框架提供的auth 认证系统
方法:
|
方法名 |
备注 |
|
create_user |
创建用户 |
|
authenticate |
登录验证 |
|
login |
记录登录状态 |
|
logout |
退出用户登录 |
|
is_authenticated |
判断用户是否登录 |
|
login_required装饰器 |
进行登录判断 |
引入模块
from django.contrib import auth
登录认证
user = auth.authenticate(username=username, password=pwd) if user is not None:
# 将登录的用户封装到request.user
# 在中间件中 process_request 中每次都这样子处理
# id = request.session.get("user_id") 得到id
# user = auth.User.objects.get(id=id)
# request.user = user
auth.login(request, user=user)
return redirect("/index/")
验证通过则返回user,没有则返回None,在 login 函数中将认证通过的用户赋值给 request.user 属性,以及内部的 session 操作。 封装request.user = user
认证装饰器 login_required
from django.contrib.auth.decorators import login_required @login_required
def index(request):
print(request.user.username)
return render(request, "index.html")
需要配置登录视图的url,所以需要在 settings 文件中配置如下:
# 如果没有登录 默认跳转的url
LOGIN_URL = "/login/"
创建用户
1.普通用户
from django.contrib.auth.models import User
# 加密的
user = User.objects.create_user(username="tanglaoer2", password="tanglaoer")
user.set_password("tang")
user.save()
2.超级用户
user = User.objects.create_superuser(username="tanglaoer2", password="tanglaoer")
user.set_password("tang")
user.save()
注销
auth.logout(request)
内部相当于 request.session.flush()
扩展自带的auth_user表
1.新建一个表, 一对一关联上面的auth_user表
或者新建一个表,继承的方式
from django.contrib.auth.models import AbstractUser class UserInfo(AbstractUser):
phone = models.CharField(max_length=11)
addr = models.CharField(max_length=128)
相当于对默认的 auth_user 表做了扩展, 并且代替 auth_user ,还需要在配置文件 settings 中进行如下配置:
# 如果使用继承的方式 继承auth的models,要在settings.py里面配置 默认用户认证时使用的哪张表
AUTH_USER_MODEL = "app.UserInfo"
auth认证还是使用 auth 只是创建用户的时候改为 用 UserInfo
Django 【认证系统】auth的更多相关文章
- Django认证系统auth认证
使用Django认证系统auth认证 auth认证系统可以处理范围非常广泛的任务,且具有一套细致的密码和权限实现.对于需要与默认配置不同需求的项目,Django支持扩展和自定义认证;会将用户信息写入到 ...
- django 认证模块auth,表单组件form
django认证系统(auth): 1.首先我们在新窗口中打开一个django项目,之后点击,
- Django之自带的认证系统 auth模块
01-Django自带的用户认证 我们在开发一个网站的时候,无可避免的需要设计实现网站的用户系统.此时我们需要实现包括用户注册.用户登录.用户认证.注销.修改密码等功能,这还真是个麻烦的事情呢. Dj ...
- Django的认证系统—auth模块
Django的认证系统 auth模块的知识点总结: 1. 创建超级用户 python manage.py createsuperuser from django.contrib import auth ...
- Django的认证系统 auth模块
Django自带的用户认证 我们在开发一个网站的时候,无可避免的需要设计实现网站的用户系统.此时我们需要实现包括用户注册.用户登录.用户认证.注销.修改密码等功能,这还真是个麻烦的事情呢. Djang ...
- 『Django』第N+1节: Django自带的认证系统 - auth
个人网站: lipeiguan.top 以后会慢慢转移到个人网站, 欢迎大家收藏^ . ^ 写在前面 我们在开发一个网站的时候, 经常需要实现网站的用户系统. 这个时候我们需要实现用户注册.用户登录. ...
- django认证系统 Authentication
Django自带一个用户认证系统,用于处理用户账户.群组.许可和基于cookie的用户会话. Django的认证系统包含了身份验证和权限管理两部分.简单地说,身份验证用于核实某个用户是否合法,权限管理 ...
- django 认证系统--3
WEB request中的认证 django使用sessions和middleware和reqeust对象联系在一起 它们通过给每一个reqeust请求添加一个request.user属性来代表当前用 ...
- Django认证系统并不鸡肋反而很重要
在使用django-admin startproject创建项目后,Django就默认安装了一个采用session实现的认证系统.这是Django相比于其他框架的一大特点:自带认证系统,开箱即用.有人 ...
- 自定义Django认证系统的技术方案
Django已经提供了开箱即用的认证系统,但是可能并不满足我们的个性化需求.自定义认证系统需要知道哪些地方可以扩展,哪些地方可以替换.本文就来介绍自定义Django认证系统的相关技术细节. 自定义认证 ...
随机推荐
- asp.net core系列 32 EF查询数据 必备知识(1)
一.查询的工作原理 Entity Framework Core 使用语言集成查询 (LINQ) 来查询数据库中的数据. 通过 LINQ 可使用 C#(或你选择的其他 .NET 语言)基于派生上下文和实 ...
- redis 系列19 客户端
一. 概述 Redis服务器是可以与多个客户端建立网络连接,每个客户端可以向服务器发送命令请求,而服务器则接收并处理客户端发送的命令请求,并向客户端返回命令回复.通过使用I/O多路复用技术实现的文件事 ...
- Android--加载大分辨率图片到内存
前言 在使用ImageView显示图片的时候,直接加载一个图片资源到内存中,经常会出现内存溢出的错误,这是因为有些图片的分辨率比较高,把它直接加载到内存中之后,会导致堆内存溢出的问题.这篇博客就来讲解 ...
- WinSocket同时接入量的疑惑(求解...)
在写TCP应用的时候一般都通过Accept来接入连接的接入,但对于Socket来说这个Accept同时能处理多大的量一般都没有明确说明,在应用中主要根据自己的需要设置Listen的队列数量.那List ...
- C语言实现顺序栈的初始化&进栈&出栈&读取栈顶元素
/*顺序表实现栈的一系列操作*/ #include<stdio.h> #include<stdlib.h> #define Stack_Size 50 //设栈中元素个数为50 ...
- scrapy爬虫学习系列二:scrapy简单爬虫样例学习
系列文章列表: scrapy爬虫学习系列一:scrapy爬虫环境的准备: http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_python_00 ...
- Java开发知识之JavaIO操作缓存操作
目录 带缓存的输入/输出流 一丶简介 二丶BufferedInputStream 与 BufferedOutputString类. 2.BufferOutputStream类. 三丶BufferedR ...
- 附实例!图解React的生命周期及执行顺序
本文由云+社区发表 作者:前端林子 1.七个可选的生命周期 可以结合下图来看: (1) componentWillMount() 仅在render()方法前被调用一次,如果在该方法中调用了setSta ...
- Linux系统命令行整理
1.pwd 查看当前所在目录 2.cd / 跳往根目录 3.ls 查看当前目录所有子目录或文件 4.ls -l 列出当前目录详细信息 5.ls -lh h=human 人性化列出当前目录详细 ...
- 第8章 概述 - Identity Server 4 中文文档(v1.0.0)
快速入门提供了各种常见IdentityServer方案的分步说明.他们从基础到复杂 - 建议您按顺序完成它们. 将IdentityServer添加到ASP.NET Core应用程序 配置Identit ...