http://www.cnblogs.com/liwenzhou/p/9030211.html

1、首先导入auth模块

  1. from django.contrib import auth

2、创建auth表

  manage.py makemigrations

  manage.py migrate

  这样才能使用

一、主要部分

  1. from django.shortcuts import render,redirect
  2. from django.contrib import auth
  3. # Create your views here.
  4.  
  5. def index(request):
  6. if request.user.is_authenticated:
  7. username = request.user.username
  8. return render(request,"index.html",locals())
  9. return redirect("/login")
  10.  
  11. def login(request):
  12. if request.method=="POST":
  13. username=request.POST.get("username")
  14. password=request.POST.get("password")
  15. user = auth.authenticate(username=username,password=password)
  16. auth.login(request,user)
  17. if user:
  18. return redirect("/index")
  19. else:
  20. return render(request,"login.html")
  21. return render(request,"login.html",locals())
  22.  
  23. def logout(request):
  24. auth.logout(request)
  25. return redirect("/login")

二、auth对象

  1、创建用户

  1. from django.contrib.auth.models import
  2. User.objects.create_superuser(.......) #创建超级用户
  3. Use.objects.create_user(....) #创建普通用户

  2、修改密码

  1. def set_pwd(request):
  2. if request.method == "POST":
  3. old_pwd = request.POST.get("old_pwd")
  4. new_pwd = request.POST.get("new_pwd")
  5. if request.user.check_password(raw_password=old_pwd):
  6. request.user.set_password(new_pwd)
  7. request.user.save()
  8. return redirect("/index")
  9. return render(request,"set_pwd.html",locals())

三、扩展auth表

  1. from django.contrib.auth.models import AbstractUser
  2. class UserInfo(AbstractUser):
  3. """
  4. 用户信息表
  5. """
  6. nid = models.AutoField(primary_key=True)
  7. phone = models.CharField(max_length=11, null=True, unique=True)
  8.  
  9. def __str__(self):
  10. return self.username

使用继承的方式扩展auth表,需要在settings中配置默认的路径:

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

Django之auth模块的更多相关文章

  1. 重新整理django中Auth模块

    0907自我总结 重新整理django中Auth模块 from django.contrib import auth 一.设置 默认Auth表单 auth默认是使用自带的user表单 自定义Auth表 ...

  2. 跨站请求伪造(csrf),django的settings源码剖析,django的auth模块

    目录 一.跨站请求伪造(csrf) 1. 什么是csrf 2. 钓鱼网站原理 3. 如何解决csrf (1)思路: (2)实现方法 (3)实现的具体代码 3. csrf相关的装饰器 (1)csrf_p ...

  3. Django之auth模块(用户认证)

    auth模块简介 auth模块是对登录认证方法的一种封装,之前我们获取用户输入的用户名及密码后需要自己从user表里查询有没有用户名和密码符合的对象, 而有了auth模块之后就可以很轻松的去验证用户的 ...

  4. Django之Auth模块 实现登录,退出,自带session 与认证功能的一个重要的模块

    Auth模板 1. 什么是Auth模块,有什么用? django的auth的模块的使用: auth 是集合注册,登录,注销,session 多个功能集合在一起的模块 2. 使用Auth组件的默认aut ...

  5. Django权限auth模块详解

    转自:http://www.cnblogs.com/Finley/p/5575305.html 1,auth模块是Django提供的标准权限管理系统,可以提供用户身份认证,用户组和权限管理 2,aut ...

  6. Django之auth模块用户认证模块

    一.Auth模块 1)auth模块是什么.登录后台使用的账号密码,则就是使用的auth模块创建的表 Auth模块是Django自带的用户认证模块: 我们在开发一个网站的时候,无可避免的需要设计实现网站 ...

  7. Django组件(四) Django之Auth模块

    Auth模块概述 Auth模块是Django自带的用户认证模块: 我们在开发一个网站的时候,无可避免的需要设计实现网站的用户系统.此时我们需要实现包括用户注册.用户登录.用户认证.注销.修改密码等功能 ...

  8. django使用auth模块进行身份认证

    https://docs.djangoproject.com/zh-hans/2.0/topics/auth/default/#authentication-in-web-requests djang ...

  9. Django之auth模块(用户认证)登陆组件

    auth模块简介 auth模块是对登录认证方法的一种封装,之前我们获取用户输入的用户名及密码后需要自己从user表里查询有没有用户名和密码符合的对象, 而有了auth模块之后就可以很轻松的去验证用户的 ...

随机推荐

  1. 《通过C#学Proto.Actor模型》之PID

    PID对象是代表Actor对象的进程,是能过Actor.Spawn(props)获取的:它有什么成员呢?既然代理Actor,首先有一个ID,标识自己是谁,Actor在Spawn时可以命名这个ID,否则 ...

  2. 故障公告:docker swarm集群“群龙无首”造成部分站点无法访问

    今天傍晚 17:38-18:18 左右,由于 docker swarm 集群出现 "The swarm does not have a leader" 问题,造成博问.闪存.园子. ...

  3. D. The Beatles

    链接 [https://codeforces.com/contest/1143/problem/D] 题意 就是有nkcity,n个面包店 第一个面包店在1city,第x个在(x-1)k+1city ...

  4. openstack搭建之-nova配置(10)

    一. base节点设置数据库 mysql -u root -proot CREATE DATABASE nova_api; CREATE DATABASE nova; CREATE DATABASE ...

  5. ES6相关

    1.变量声明 let 和const 传统的 var 关键字声明变量,会存在变量提升.在ES6中,我们用 let 和 const 声明,let 声明变量,const 声明常量,let 和 const 都 ...

  6. 软工+C(10): 团队项目[NABCD] - 对话式编辑

    上一篇:助教指南,持续更新... 下一篇:从命令行开始逐步培养编程能力(Java) 动机(Motivation) Eating your own dog food, also called dogfo ...

  7. h5-canvas 单像素操作

    ###1. 自定义获取指定坐标像素 var canvas = document.querySelector("#cav"); if(canvas.getContext){ var ...

  8. 一、Mysql安装

    一.官网下载:https://dev.mysql.com/downloads/mysql/ 二.解压下载好的压缩包,本人存放的位置如下: 如下图解压后的文件目录,因版本的差异.一开始解压后的文件夹下可 ...

  9. rsync 远程拷贝

    rsync -vzP win7.qcow2 agu@192.168.1.198:/tmp/

  10. SpringCloud实践引入注册中心+配置中心

    随着服务数量的增多,尤其是多数项目涉及jni本地方法的调用,所需参数配置较多,同时内存溢出等维护问题时常发生.鉴于此,原tomcat集群的使用已难满足需求,而微服务的思想契合当前项目实践,特在服务端构 ...