Django之用户认证功能

前言

做web应用对登录做用户身份认证,然后设置session是比不可少的,因为我们就需要把有权限访问本站视图的用户,单独建一张表记录到数据库里;

Django作为一个大而全的框架,已经为我们做好了这些准备;

from django.shortcuts import render,HttpResponse,redirect

def login(request):
    if request.method==‘GET‘:
        return render(request,‘login.html‘)
    user=request.POST.get(‘user‘)
    pwd=request.POST.get(‘pwd‘)
    print(user,pwd)
    if user==‘张根‘ and pwd==‘123.com‘: #1、用户认证
        request.session[‘name‘]=user      #2、属于本站用户设置session,识别用户身份
        request.session[‘status‘] = True
        return redirect(‘/index‘)
    else:
        error=‘用户名/密码错误‘
        return render(request,‘login.html‘,locals())

def index(request):                    #3、其他视图,做用户身份检查
    status=request.session.get(‘status‘)
    if status:
        return HttpResponse(‘index‘)
    else:
        return redirect(‘/login/‘)

一、认证登录

from django.contrib import auth  导入Django自带的认证模块

python manage.py createsuperuser 创建一个超级用户,本文不涉及用户权限管理;

用户创建完成之后密码加密成密文显示,呵呵 人性化吧?

1  authenticate()   

检查用户是存在在auth_user表及用户名和密码是否正确?

如果认证 成功 会返回一个 user对象,否则返回None。

2/

auth.login(request,user)
时间: 2024-09-30 06:01:43

Django之用户认证功能的相关文章

Django--分页器(paginator)、Django的用户认证、Django的FORM表单

分页器(paginator) >>> from django.core.paginator import Paginator >>> objects = ['john', 'paul', 'george', 'ringo'] >>> p = Paginator(objects, 2) >>> p.count #数据总数 4 >>> p.num_pages #总页数 2 >>> type(p.page

Django 自定义用户认证

Django 自定义用户认证 Django附带的认证对于大多数常见情况来说已经足够了,但是如何在 Django 中使用自定义的数据表进行用户认证,有一种较为笨蛋的办法就是自定义好数据表后,使用OnetoOne来跟 Django 的表进行关联,类似于这样: from django.contrib.auth.models import User class UserProfile(models.Model): """ 用户账号表 """ user =

Django Authentication 用户认证系统

一. Django的认证系统 Django自带一个用户认证系统,用于处理用户账户.群组.许可和基于cookie的用户会话. 1.1 概览 Django的认证系统包含了身份验证和权限管理两部分.简单地说,身份验证用于核实某个用户是否是合法用户,权限管理则是决定一个合法用户具有哪些权限.这里,"身份验证"这个词同时代指上面两部分的含义. 系统主要包括: 用户 许可 组 可配置的密码哈希系统 用于用户登录或者限制访问的表单和视图工具 可插拔的后端 类似下面的问题,请使用第三方包: 密码强度检

061.Python前端Django组件用户认证组件

一 auth认证组件 在使用pymysql,数据库迁移的时候.,默认生成有十张表如下 查看author_user表结构 mysql> desc auth_user; +--------------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------------+--------------+------+-----+---

Django的用户认证----介绍

Django自带了一个用户认证系统.它处理用户账户.组.权限和基于cookie的用户会话. 概括 Django认证系统处理认证和授权.简单的说,认证是验证一个用户被声明为谁,授权是确定一个认证的用户允许做什么. 认证系统由下面的组成: 用户 权限:二进制标志,标明用户是否可以执行指定的任务 组:应用标签和权限给多个用户的通用方法 可配置的密码hash系统 用户登录的表单和视图工具或者限制的内容 可插入模块的后端系统 Django的认证系统只提供简单的方法,并不提供在web认证系统找到的一些特性.

Django自定义用户认证

自定义一个用户认证 详细参考官方文档: https://docs.djangoproject.com/en/1.9/topics/auth/customizing/#django.contrib.auth.models.PermissionsMixin.has_perms 一.创建用户的表 UserProfile():存放用户信息的表 UserProfileManager(): 用户创建用户的类方法 1.生成一个单独的Moel文件专门用来存放用户表 #!/usr/bin/env python #

【django之用户认证】

一.auth模块 模块导入 from django.contrib import auth 主要方法如下: 1 .authenticate()    提供了用户认证,即验证用户名以及密码是否正确,一般需要username  password两个关键字参数 如果认证信息有效,会返回一个  User  对象.authenticate()会在User 对象上设置一个属性标识那种认证后端认证了该用户,且该信息在后面的登录过程中是需要的.当我们试图登陆一个从数据库中直接取出来不经过authenticate

14 Django的用户认证组件

用户认证 auth模块 1 from django.contrib import auth django.contrib.auth中提供了许多方法,这里主要介绍其中的三个: 1.1 .authenticate()    提供了用户认证,即验证用户名以及密码是否正确,一般需要username  password两个关键字参数 如果认证信息有效,会返回一个  User  对象.authenticate()会在User 对象上设置一个属性标识那种认证后端认证了该用户,且该信息在后面的登录过程中是需要的

Django 自带认证功能auth模块和User对象的基本操作

一.auth模块 from django.contrib import auth django.contrib.auth中提供了许多方法,这里主要介绍其中的三个: authenticate()    提供了用户认证,即验证用户名以及密码是否正确,一般需要username,password两个关键字参数. 如果认证信息有效,会返回一个  User  对象.authenticate()会在User 对象上设置一个属性来标识后端已经认证了该用户,且该信息在后续的登录过程中是需要的. user = au