博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
auth模块
阅读量:5218 次
发布时间:2019-06-14

本文共 1567 字,大约阅读时间需要 5 分钟。

 

认证模块:  from django.contrib import auth

  auth.authenticate:用内置模块校验登录信息.

  供了用户认证功能,即验证用户名以及密码是否正确,一般需要username 、password两个关键字参数。如果认证成功(用户名和密码正确有效),便会返回一个 User 对象。

 

  authenticate()会在该 User 对象上设置一个属性来标识后端已经认证了该用户,且该信息在后续的登录过程中是需要的。

 

    

   auth.login(request, user):将校验的用户信息封装到request.user,可以通过(request.user.username)取到值

      

  auth.logout(request):当前请求的session信息会全部清除。该用户即使没有登录,使用该函数也不会报错。

    

  login_required:  auth 模块提供的一个装饰器工具,用来快捷的给某个视图添加登录校验。from django.contrib.auth.decorators import login_required

  若用户没有登录,则会跳转到django默认的 登录URL '/accounts/login/ ' 并传递当前访问url的绝对路径 (登陆成功后,会重定向到该路径)。

  如果需要自定义登录的URL,则需要在settings.py文件中通过LOGIN_URL进行修改。

  

  

  create_user:创建用户

   

   check_password:auth 提供的一个检查密码是否正确的方法,需要提供当前请求用户的密码。密码正确返回True,否则返回False。

    

  set_password:auth 提供的一个修改密码的方法,接收 要设置的新密码 作为参数。

 

   

  

 

  扩展默认的auth_user表

  一:我们可以通过继承内置的 AbstractUser 类,来定义一个自己的Model类。

  from django.contrib.auth.models import AbstractUser

   

from django.contrib.auth.models import AbstractUserclass UserInfo(AbstractUser):    """    用户信息表    """    nid = models.AutoField(primary_key=True)    phone = models.CharField(max_length=11, null=True, unique=True)        def __str__(self):        return self.username

 按上面的方式扩展了内置的auth_user表之后,一定要在settings.py中告诉Django,我现在使用我新定义的UserInfo表来做用户认证。写法如下:

# 引用Django自带的User表,继承使用时需要设置AUTH_USER_MODEL = "app名.UserInfo"

   二:建立一张一对一的关联表

from django.contrib.auth.models import Userclass Userdate(model.Model)    phone = models.CharField(max_length=11)    use = modelsOnetToOneField(to=User)

 

  

转载于:https://www.cnblogs.com/lishun412/p/9776494.html

你可能感兴趣的文章
[Luogu P3119] [USACO15JAN]草鉴定Grass Cownoisseur (缩点+图上DP)
查看>>
【原创】大数据基础之Zookeeper(4)应用场景
查看>>
18款在线代码片段测试工具
查看>>
20.C++- &&,||逻辑重载操作符的缺陷、,逗号重载操作符的分析
查看>>
静态变量数组实现LRU算法
查看>>
在SQL中怎么把一列字符串拆分为多列
查看>>
中文系统 上传file的input显示英文
查看>>
css样式写一个三角形
查看>>
比callback更简洁的链式执行promise
查看>>
android permission
查看>>
【译】在Asp.Net中操作PDF - iTextSharp - 使用字体
查看>>
事务备份还原分离附加
查看>>
JSch - Java实现的SFTP(文件上传详解篇)
查看>>
一些注意点
查看>>
.net 文本框只允许输入XX,(正则表达式)
查看>>
[BSGS][哈希]luogu P3846 可爱的质数
查看>>
Python 第四十五章 MySQL 内容回顾
查看>>
iostat参数说明
查看>>
Python-Mac 安装 PyQt4
查看>>
实验2-2
查看>>