广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Django之用户认证组件
  • 930
分享到

Django之用户认证组件

组件用户Django 2023-01-30 23:01:02 930人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

  用户认证组件用的是Django自带一个表:auth_user   一、auth模块   1,authenticate()判断用户是否存在方法 user=authenticate(username='xxx',passWord='xx

  用户认证组件用的是Django自带一个表:auth_user

  一、auth模块

  1,authenticate()判断用户是否存在方法

user=authenticate(username='xxx',passWord='xxxx')   #需要提供两个参数,username,password关键字参数
如果auth_user表中存在这个用户,会返回一个user对象,如果用户不存在,返回None

  2,login(request,user)

login(request,user)主要完成以下:把用户的id放入session表中的数据里
1,注入session信息:request.session['user_id']=user.pk

from djanGo.contrib.auth import authenticate, login def my_view(request): username = request.POST['username'] password = request.POST['password'] user = authenticate(username=username, password=password) if user is not None: login(request, user) # Redirect to a success page. ... else: # Return an 'invalid login' error message.

  3,logout(request)注销用户

from django.contrib.auth import logout
   
def logout_view(request):
  logout(request)         #注销只是session表里的登录记录,并不是注销的auth_user表的记录
  # Redirect to a success page.

  二、user对象

  只要登录过的用户,访问任何视图的时候都可以使用request.user对象,这就是一个user对象,request.user.name就可以拿到用户的名字,request.user.email就可以得到用户的邮箱,还可以拿到用户的其他信息。除此之外,user对象还拥有以下方法:

  1,user对象的is_authenticated()

  如果session表里有你的登录记录,那返回值为True,可以用来验证用户是否登录过。

  1.1 我们可以自己在每个需要判断的是否登陆过才能访问的视图里面手动写上判断,而且登陆后直接返回最开始请求的页面。

def my_view(request):
  if not request.user.is_authenticated():
    return redirect('%s?next=%s' % (settings.LOGIN_URL, request.path))

  1.2 Django自己给我们封装一个装饰器,用来判断用户是否登录过,就和我们用session写的装饰器一样的,只是现在也是登录成功后返回最开始的页面。

from django.contrib.auth.decorators import login_required
      
@login_required
def my_view(request):

  2,在auth_user表中添加记录,相当于添加一个用户

from django.contrib.auth.models import User
User.objects.create_user(username='',password='')
User.objects.create_superuser(username="alex",password="123")

  3,check_password(password)

  用户需要修改密码之前,首先得让他输入原来的密码,如果输入正确返回True,否则返回None,当返回True时,才允许修改密码

  4,set_password()修改密码

user = User.objects.get(username='')
user.set_password(password='')
user.save 

 

--结束END--

本文标题: Django之用户认证组件

本文链接: https://www.lsjlt.com/news/180779.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Django之用户认证组件
      用户认证组件用的是Django自带一个表:auth_user   一、auth模块   1,authenticate()判断用户是否存在方法 user=authenticate(username='xxx',password='xx...
    99+
    2023-01-30
    组件 用户 Django
  • Django用户认证系统(三)组与权限
    原文:https://www.cnblogs.com/linxiyue/p/4060817.html Django的权限系统很简单,它可以赋予users或groups中的users以权限。 Django admin后台就使用了该权限系统,...
    99+
    2023-01-30
    权限 用户 系统
  • Django 中间件实现用户认证与IP频
    1.URL访问过滤 通过装饰器进行用户认证非常方便,但是在添加部分需要认证的功能时,就需要再次添加装饰器,如果通过中间件来实现,就不需要再进行添加的操作. import re LOGIN_URL = '/login/' class MyL...
    99+
    2023-01-30
    中间件 用户 Django
  • 认证组件
    一、认证组件   只有认证通过的用户才能访问指定的url地址,比如:查询课程信息,需要登录之后才能查询,没有登录就不能查看 ,这时候就要用到认证组件 二、局部使用 (1)models层 class UserInfo(models.M...
    99+
    2023-01-30
    组件
  • Django中auth模块用户认证的使用
    目录auth模块是什么auth模块常用方法authenticate()login(HttpRequest, user)logout(request)is_authenticated(...
    99+
    2023-03-20
    Django auth模块用户认证 Django auth模块
  • Django中auth模块用户认证如何使用
    本文小编为大家详细介绍“Django中auth模块用户认证如何使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Django中auth模块用户认证如何使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。auth模...
    99+
    2023-07-05
  • Django之auth组件
    一、Auth模块是什么   django内置的用户认证系统 ,可以快速 的实现,登录,注销,修改密码... 二、Auth用法:   1、先创建超级用户 :      python3 manage.py createsuperuser; ...
    99+
    2023-01-30
    组件 Django auth
  • Django之forms组件
      一、校验数据功能   我们在写注册页面时,之前只是提交了数据,然后就保存了数据,后端根本就没有对数据进行校验,比如价格写的不是纯数字也让保存,这肯定是不行的,在前端是可以校验的,但我们不能只依靠前端验证,万一前端不校验,那整个过程就没...
    99+
    2023-01-30
    组件 Django forms
  • Django之Form组件
    一 Form介绍      我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来。   与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用户是否输入,输入的长度...
    99+
    2023-01-30
    组件 Django Form
  • Django之频率组件
    一、频率简介 为了控制用户对某个url的请求 的频率,比如 ,一分钟以内,只能访问三次 二、自定义频率类,自定义频率规则 自定义的逻辑 (1)取出访问者的ip (2)判断当前ip不在访问字典里,添加进去,并且直接返回True,表示第一...
    99+
    2023-01-30
    组件 频率 Django
  • django之用户、用户组及权限设置方式
    目录一,django中超级用户与普通用户的本质区别1,当使用命令python manage.py createsuperuser后2,使用命令创建普通用户后3,使用authentic...
    99+
    2023-05-12
    django用户 django用户组 django权限设置
  • 【Mongo】mongodb的用户认证
    1.创建超级账号 > use admin ; > db . createUser ( { user : "a...
    99+
    2022-10-18
  • iSCSI之基于用户的认证及基于配置文件创建iSCSI
    承接上文 ->http://11107124.blog.51cto.com/11097124/1884645 被之前discovery的target信息会保存在此(discovery 的数据...
    99+
    2022-10-18
  • django restframework使用redis实现token认证
    目录一、前言二、详解1. 前期准备2. 配置redis3. 将token写入redis3.1 原来的登录代码3.2 重写后的登录代码3.3 登录后redis存储的用户记录4. 重写认...
    99+
    2022-11-12
  • Django学习之八:forms组件【对
    目录 Django forms组件 bound and unbound form instance forms渲染有关 隐藏一个字段...
    99+
    2023-01-30
    组件 Django forms
  • Python使用LDAP做用户认证
    LDAP(Light Directory Access Portocol)是轻量目录访问协议,基于X.500标准,支持TCP/IP。 LDAP目录以树状的层次结构来存储数据。每个目录记录都有标识名(Distinguished Name,简...
    99+
    2023-01-30
    用户 Python LDAP
  • Django基础7——用户认证系统、Session管理、CSRF安全防护机制
    文章目录 一、用户认证系统二、案例:登陆认证2.1 平台登入2.2 平台登出2.3 login_required装饰器 三、Django Session管理3.1 Django使用Session3.1.1 Cookie用法3.1...
    99+
    2023-08-30
    django csrf 安全 python linux
  • 利用Django内置的认证视图实现用户密码重置功能详解
    前言 密码重置功能相信对大家来说都不陌生,本文主要给大家介绍了关于使用Django内置的认证视图实现简单的通过邮箱重置密码的功能,分享出来供大家参考学习,下面话不多说了,来一起来看看详细的介绍吧。 版本:...
    99+
    2022-06-04
    视图 详解 用户密码
  • MySQL如何实现Apache用户认证
    这篇文章主要介绍MySQL如何实现Apache用户认证,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!apache要求DSO方式编译安装,假定apache安装在/usr/local/a...
    99+
    2022-10-18
  • JavaScript中有哪些用户认证库
    这篇文章给大家介绍JavaScript中有哪些用户认证库,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1. Passport JSPassport不仅仅是一个15k星用户身份验证库,它...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作