我的编程空间,编程开发者的网络收藏夹
学习永远不晚

django验证系统如何使用

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

django验证系统如何使用

这篇文章主要介绍了django验证系统如何使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇django验证系统如何使用文章都会有所收获,下面我们一起来看看吧。

user对象

用户对象是认证系统的核心。django的认证框架中的用户只有一个类

默认用户的主要属性

  • username

  • password

  • email

  • first_name

  • last_name

创建用户

创建用户最直接的方法是使用包含create_user()的函数

from django.contrib.auth.models import Useruser=User.objects.create_user("username","email","password")

创建超级用户

通过命令行方式创建超级用户

python manage.py createsuperuser

更改密码

第一种:通过命令行方式

python manage.py changepassword (你的用户名,如果没有输入,默认当前的用户)

第二种:通过数据模型开修改

from django.contrib.auth.models importf Useruser=User.objects.get(username=(需要修改的用户名))user.set_password("new password")user.save()

验证用户

authenticate(request,username,password)
使用authenticate(request)来验证用户。它使用username和password作为参数来验证,对每个身份验证后端进行检查。如果后端验证有效,则返回一个User对象,如果没有,将返回None

web请求认证

django使用sessions和中间件将身份验证系统挂接到请求对象中

它们在每次请求都会提供request.user属性。如果当前没有用户登录。这个属性将会设置为AnonymousUser,否则将会被设置为user实例

你可以使用is_authenticatded区分两者

只读属性,始终返回 True (匿名用户 AnonymousUser.is_authenticated 始终返回 False )。这是一种判断用户是否已通过身份认证的方法。这并不意味着任何权限,也不会检查用户是否处于活动状态或是否具有有效会话。即使通常你会根据 request.user 检查这个属性,以确定它是否被 AuthenticationMiddleware 填充(表示当前登录的用户),但是你应该知道该属性对于任何 User 实例都返回 True。

if request.user.is_authenticated:    passelse:    pass

用户如何登陆

如果有已验证的用户想添加到session中,将通过login()函数完成

login(request,user,)要在视图中让用户登录,使用 login() 。它需要 HttpRequest 对象和 User 对象。通过 Django 的 session 框架, login() 会在 session 中保存用户的ID。

from django.contrib.auth import authenticate,logindef fun(request):    username=request.POST("username")    password=request.POST("password")    user=authenticate(request,username=username,password=password)    if user is not None:        login(request,user)    else:        pass

用户如何登出

logout(request)

如果已经通过django.contrib.auth.login()登录的用户想要登出,可以使用logout()方法,需要传入request

from django.contrib.auth import logoutdef logout_view(request):    logout(request)

限制对未登录用户的访问

原始方式

限制访问页面最原始的办法就是检查,request.user.is_authenticated并重定向到登录页面

from django.conf import settingsfrom django.shortcuts import redirectdef my_view(request):    if not request.user.is_authenticated:        return redirect()

login_required装饰器

作为快捷方式,你可以使用login_required()装饰器

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

login_required()会执行以下操作:

  • 如果用户没有登录,会重定向到settings.LOGIN_URL,并传递绝对路径到查询字符串中,例如: /accounts/login/?next=/polls/3/ 。

  • 如果用户已经登录,则正常执行视图

  • login_required()也有可选参数login_url用来指定重定向的路由

  • 默认情况下,成功验证时用户跳转的路径保存在名为 "next" 的查询字符串参数中。如果你希望这个参数使用不同名称,请在 login_required() 中传递可选参数 redirect_field_name :

LoginRequired Mixin

使用基于类的视图时,可以使用LoginRequiredMixin实现和login_required相同的行为。这个Mixin应该在继承列表最左边的位置

from django.contrib.auth.mixins import LoginRequiredMixinclass MyView(LoginRequiredMixin,View):    login_url="/login/"    redirect_field_name="xxx"

关于“django验证系统如何使用”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“django验证系统如何使用”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

django验证系统如何使用

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

下载Word文档

猜你喜欢

django验证系统如何使用

这篇文章主要介绍了django验证系统如何使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇django验证系统如何使用文章都会有所收获,下面我们一起来看看吧。user对象用户对象是认证系统的核心。django
2023-07-05

django验证系统的具体使用

本文主要介绍了django验证系统的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2023-03-21

Linux系统如何验证NTP同步

这篇“Linux系统如何验证NTP同步”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Linux系统如何验证NTP同步”文章吧
2023-06-27

django中只使用ModleForm的表单验证

这篇文章主要介绍了django中只使用ModleForm的表单验证的相关资料,需要的朋友可以参考下
2022-12-25

Django中如何实现JWT身份验证

这篇文章主要介绍Django中如何实现JWT身份验证,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1.认证与授权1.验证:身份验证是验证个人或设备标识的过程。身份验证过程之一是登录过程。注册网站后,您的信息(ID,密
2023-06-14

Django验证码的生成与使用示例

前言 本文主要介绍的是关于Django验证码生成与使用的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍: 方法如下: 1、基于PIL生成一个带验证码的图片和验证码,生成验证码图片需要Monaco.ttf字体,可按自己要求更改ch
2022-06-04

如何使用Python实现极验验证码识别验证码

这篇“如何使用Python实现极验验证码识别验证码”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“如何使用Python实现极验
2023-07-05

vue表单验证rules及validator验证器如何使用

这篇文章主要介绍“vue表单验证rules及validator验证器如何使用”,在日常操作中,相信很多人在vue表单验证rules及validator验证器如何使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答
2023-07-02

Flex验证控件如何使用

Flex验证控件如何使用,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1.验证必填项代码如下:
2023-06-17

一步步教你如何在 Django REST API 中构建使用 JWT 验证

基于令牌的身份验证,允许后端服务与前端(无论是web端,原生移动端或其他端)分离,并驻留在不同域中。 JSON Web Tokens (JWT)
2023-02-09

一步步教你如何在 Django REST API 中构建使用 JWT 验证

基于令牌的身份验证,允许后端服务与前端(无论是web端,原生移动端或其他端)分离,并驻留在不同域中。 JSON Web Tokens (JWT)
一步步教你如何在 Django REST API 中构建使用 JWT 验证
2022-05-31

使用Django怎么给表单添加honeypot验证

这篇文章给大家介绍使用Django怎么给表单添加honeypot验证,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Honeypot的工作原理Honeypot又名蜜罐,其实本质上是种陷阱。我们在表单中故意通过CSS隐藏一
2023-06-14

如何使用canvas显示验证码

这篇文章主要介绍了如何使用canvas显示验证码,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。最近做了一个小需求,就是点击删除按钮,弹出提示弹框让你输入验证码确认删除。那么怎
2023-06-09

如何使用 PHP 进行用户验证?

用户验证在 php 中至关重要,可以通过多种方式实现,包括依靠会话、使用数据库或利用第三方库。借助会话方法,可以通过检查 $_session 变量是否存在来验证用户是否已登录。使用数据库时,可以比较提交的凭证与从数据库中检索到的凭证。此外,
如何使用 PHP 进行用户验证?
2024-04-19

如何使用TensorFlow2识别验证码

这篇文章主要介绍如何使用TensorFlow2识别验证码,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!验证码是根据随机字符生成一幅图片,然后在图片中加入干扰象素,用户必须手动填入,防止有人利用机器人自动批量注册、灌水
2023-06-15

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录