django18:auth模块

Auth模块

执行数据库迁移命令后,自动生产多个表。

django_session

auth_user

直接访问admin路由,需要输入用户名和密码,就是参考auth_user表

管理员用户才能进入

创建超级用户

createsuperuser

from django.contrib import auth1.校验用户名和密码是否正确  
user_obj=auth.authenticate(request,username=username,password=password)  # 用户名和密码两个一个都不能少
# 该方法返回值:当用户名和密码正确的时候:返回的用户对象 
#不正确返回None2.保存登录状态
auth.login(request,user_obj)  
# 这一句执行之后 request.user就能获取当前登录的用户对象,user_obj3. 如何判断当前用户是否登录 以及如何获取当前登录用户对象
request.user.is_authenticated()  # 判断是否登录  BOOL值
#*********在新版中貌似去掉括号才行。
request.user.is_authenticate4. 校验用户是否登录from django.contrib.auth.decorators import login_required# 局部配置 @login_required(login_url='/login/')    # /login/没有登录跳转的页面def xxx(request):return HttpResponse('xxx页面')	  # 登录之后的在视图文件@login_requireddef xxx(request):return HttpResponse('xxx页面')# 如果两个都设置了 那么优先执行局部配置5.修改密码request.user.check_password(old_password)  # 校验原密码是否正确,返回boolrequest.user.set_password(new_password)   #修改新密码,需要保存request.user.save()                        # 一定要保存 6.注销功能auth.logout(request)  	# 删除了对应的session值
例子@login_requireddef xxx(request):auth.logout(request)return HttpResponse('xxx页面')7.注册功能#User.objects.create()  	      # 创建普通用户,密码是明文。不推荐User.objects.createuser()  	      # 创建普通用户,基本都用它 User.objects.createsuperuser()    # 创建超级用户,邮箱要给数据

 setting.py

# 全局配置
在setting.py配置文件中写以下代码LOGIN_URL = '/login/'

 

 注册功能例子:

扩展auth_user表

利用类的继承# 1 类的继承
from django.contrib.auth.models import User,AbstractUser# Create your models here.
class Userinfo(AbstractUser):phone = models.BigIntegerField()avatar = models.FileField()#**继承了AbstractUser,执行数据库迁移命令不会创建auth_user#Userinfo表中,出现auth_user所有字段,还有自定义字段#前提:1.没有执行数据库迁移命令。2.如果当前数据库已经创建(auth_user),就要创建新的数据库。3. 扩展的字段,不要与原先表中的字段冲突4. 需要在配置文件声明#####"""django就会将userinfo表来替换auth_user表并且之前auth模块所有的功能不变 参照的也是userinfo表"""

 settings.py

# 2 配置文件AUTH_USER_MODEL = '应用名.表名'AUTH_USER_MODEL = 'app01.Userinfo'

参考:Django之CSRF、token验证、csrf装饰器、auth模块方法大全 - Jeff的技术栈 - 博客园

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/280547.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

hulu dpp_什么是直播电视的Hulu,它可以代替您的有线电视订阅吗?

hulu dppStreaming cable replacements are becoming a much more appealing option for cable cutters across the board, with more choices available than ever before. Hulu’s Live TV option is a relative newcomer to the scene, but is it worth it? 对于全系列的电…

suse linux ssh远程无法访问问题

当正常安装完Suse Linux Enterprise Server 11 sp1 时,无法通过SecureCRT或者PuTTY之类的终端程序进行连接。 折腾了一下,发现问题所在: 1、 需要关闭防火墙,如下图在YAST里可以关闭,也可以使用下面命令行的方式&…

Jade —— 源于 Node.js 的 HTML 模板引擎

2013-12-11 发布Jade —— 源于 Node.js 的 HTML 模板引擎 开源项目介绍 web 模板引擎 node.js jade 207.8k 次阅读 读完需要 69 分钟54Jade 是一个高性能的模板引擎,它深受 Haml 影响,它是用 JavaScript 实现的,并且可以供 Node…

诈骗者如何伪造电子邮件地址,以及如何分辨

Consider this a public service announcement: Scammers can forge email addresses. Your email program may say a message is from a certain email address, but it may be from another address entirely. 考虑这是一项公共服务公告:诈骗者可以伪造电子邮件地…

如何对整个 WPF 应用程序进行灰度

如何对整个 WPF 应用程序进行灰度控件名:GrayscaleEffect作 者:WPFDevelopersOrg - 驚鏵原文链接[1]:https://github.com/WPFDevelopersOrg/WPFDevelopers 简易源码[2]框架使用.NET40;Visual Studio 2019;如果要实现灰度第一反是…

django19:项目开发流程

参考:https://www.bilibili.com/video/BV1QE41147hU?p831&spm_id_frompageDriver

React Native - FlexBox弹性盒模型

FlexBox布局 1. 什么是FlexBox布局? 弹性盒模型(The Flexible Box Module),又叫FlexBox,意为"弹性布局",旨在通过弹性的方式来对齐和分布容器中内容的空间,使其能适应不同屏幕,为盒模型提供最大的灵活性.   Flex布局主要思想是: 让容器有能力让其子项目能够改变其…

java虚拟机读写其他进程的数据

在java中,process类提供了如下3个方法,用于让程序和其他子进程进行通信。 InputStream getErrorStream():获取子进程的错误流。 InputStream getInputStream():获取子进程的输入流。…

release8_如何在Windows 8 Release Preview中将Chrome用作Metro浏览器

release8Windows 8 allows third-party browser to replace Internet Explorer in the Metro environment — except on Windows RT. You can use Google Chrome in Metro today, and Firefox for Metro is on the way. Windows 8允许第三方浏览器在Metro环境中替换Internet Ex…

html jQuery/bootstrap通过网络bootcdn导入连接

网络连接网址 https://www.bootcdn.cn/ <!DOCTYPE html> <html lang"zh-CN"><head><meta charset"utf-8"><title>title</title><!-- Bootstrap --><link href"https://cdn.bootcdn.net/ajax/libs/twi…

Python深入类和对象

一. 鸭子类型和多态 1.什么是鸭子类型&#xff1a; 在程序设计中&#xff0c;鸭子类型&#xff08;英语&#xff1a;Duck typing&#xff09;是动态类型和某些静态语言的一种对象推断风格。"鸭子类型"像多态一样工作&#xff0c;但是没有继承。“鸭子类型”的语言是这…

linux中/usr下文件权限修改setuid导致的问题

2019独角兽企业重金招聘Python工程师标准>>> 在Ubuntu系统中因为一些原因我使用如下命令修改了/usr目录的拥有者权限&#xff1a; chown -R root:root /usr结果直接导致系统无法正常启动&#xff0c;通过跟踪系统启动日志/var/log/syslog找到如下失败原因&#xff1…

[转载]unix环境高级编程备忘:理解保存的设置用户ID,设置用户ID位,有效用户ID,实际用户ID...

转载自http://www.cnblogs.com/stemon/p/5287631.html 一、基本概念 实际用户ID(RUID)&#xff1a;用于标识一个系统中用户是谁&#xff0c;一般是在登录之后&#xff0c;就被唯一的确定&#xff0c;就是登录的用户的uid。 有效用户ID(EUID)&#xff1a;用于系统决定用户对系统…

django20:BBS网页设计/注册功能/验证码代码

表设计 注册功能 """ 1.注册功能需要forms组件 不同功能&#xff0c;可单独一个py文件2.利用forms组件渲染前端标签1.利用ajax提交2.forms组件获取用户数据的数据。$(#form).serializeArray()获取forms标签所有用户普通键值对的数据3. 手动渲染头像label里面内…

用最少的代码打造一个Mini版的gRPC框架

在《用最少的代码模拟gRPC四种消息交换模式》中&#xff0c;我使用很简单的代码模拟了gRPC四种消息交换模式&#xff08;Unary、Client Streaming、Server Streaming和Duplex Streaming&#xff09;&#xff0c;现在我们更近一步&#xff0c;试着使用极简的方式打造一个gRPC框架…

Windows 10的下一个更新将在您观看视频时隐藏通知

Windows 10’s Focus Assist feature temporarily hides incoming notifications. In Windows 10’s next update, Focus Assist can activate when you’re using any full-screen app, whether that’s YouTube in a browser, Netflix, or a desktop video player like VLC. …

Ubuntu安装Samba文件共享服务器(NAS)

终于有点时间来解决下家中NAS需求了。一般自制NAS&#xff0c;只有选Samba。速度比FTP快&#xff0c;便利性比Windows文件夹共享好&#xff0c;设置多等等。 ▶参考&#xff1a;samba简介 安装Samba $ sudo apt-get update $ sudo apt-get install samba samba-common-bin 核心…

django21:admin后台管理\media配置\图片防盗链\暴露后端资源\路由分发\时间分类

admin后台管理 创建超级用户 createsuperuser 1.到应用下的admin.py注册模型表 from django.contrib import admin from blog import models # Register your models here.admin.site.register(models.UserInfo) admin.site.register(models.Article) admin.site.register(m…

Flask博客开发——Tinymce编辑器

之前Flask博客的文本编辑器比较简陋&#xff0c;这里为博客添加个优雅易用的Tinymce文本编辑器。 github见&#xff1a;https://github.com/ikheu/my_flasky 1 项目中添加Tinymce 下载好Tinymce包以及语言包&#xff0c;并添加到项目中。添加到项目的方法&#xff0c;参考了这篇…

Hello, Raspberry Pi.

1.概要最近在研究自动升级开源项目的时候偶然想到IoT领域的自动升级&#xff0c;突然想起2016年买的树莓派&#xff08;Raspberry Pi&#xff09;。那就分享一下如何入门树莓派的教程&#xff0c;我当时一共买了两块一款是Raspberry Pi 3b&#xff08;2016年价格259元去年以抽奖…