首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Django -为什么在使用自定义后台登录时需要指定user.backend?

Django是一个基于Python的Web开发框架,用于快速构建高质量的网站和Web应用程序。在使用自定义后台登录时,为什么需要指定user.backend可以从以下几个方面解释:

  1. 身份验证后端(Authentication Backend):Django支持多种身份验证后端,用于验证用户的身份。这些后端可以通过用户提供的不同凭证(例如用户名和密码、社交媒体账户等)进行身份验证。指定user.backend就是告诉Django使用哪个身份验证后端来验证用户的登录信息。
  2. 多种身份验证方式:Django允许使用自定义的身份验证方式,以适应不同的业务需求。通过指定user.backend,开发人员可以选择使用不同的身份验证后端,以实现自定义的身份验证逻辑。这样,开发人员可以根据具体需求自由选择合适的身份验证方式,从而提高系统的灵活性和安全性。
  3. 扩展性和定制化:通过指定user.backend,开发人员可以自由扩展和定制Django的后台登录功能。例如,可以根据自己的业务需求,实现特定的用户验证逻辑、用户权限控制等功能。这种扩展和定制化的能力使得Django可以适应各种不同的项目需求。

总结起来,指定user.backend是为了告知Django在使用自定义后台登录时要使用哪个身份验证后端进行用户验证。这种灵活性和定制化能够满足不同项目的需求,并提高系统的安全性和可扩展性。

推荐腾讯云相关产品和产品介绍链接地址:

请注意,以上推荐仅基于腾讯云的产品,不涉及其他品牌商。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

django使用post方法,需要增加csrftoken的例子

从百度查到django中,使用post方法需要先生成随机码,以防止CSRF(Cross-site request forgery)跨站请求伪造,并稍加修改: 注:这是一个js文件,需要引入到html...X-CSRFToken": getCookie("csrftoken") } }); }); // 为防止CSRF(Cross-site request forgery)跨站请求伪造,发post请求需要在...中的 django.middleware.csrf.CsrfViewMiddleware 删除掉就好了 如果你不想删除,并且你是web端的话,form表单里加一句 {%csrf_token%}...-- 其它代码 -- </form 这个CRSF主要也是起一种保护验证的作用,看个人需要来保留吧 如果是安卓或者其它端,建议之间采取前者把那行代码删掉就行了 以上这篇django使用post方法...,需要增加csrftoken的例子就是小编分享给大家的全部内容了,希望能给大家一个参考。

1.3K10

Django认证系统并不鸡肋反而很重要

使用django-admin startproject创建项目后,Django就默认安装了一个采用session实现的认证系统。这是Django相比于其他框架的一大特点:自带认证系统,开箱即用。...至于保存哪个认证后端,Django按以下顺序选取: 使用login()函数的backend参数值,如果赋值了的话。 使用user.backend的值,如果有的话。...login_required的login_url参数是指登录页面的url,可以自定义,默认是/accounts/login/,需要在URLconf中关联登陆视图: from django.contrib.auth...但有时我们需要自定义url,URLconf中添加自定义url后,再加上相应视图即可,例如: from django.contrib.auth import views as auth_views urlpatterns...访问http://127.0.0.1:8000/admin/,用超管登录管理后台。 就可以使用Django自带认证系统了。

1.1K10
  • 【云+社区年度征文】Django认证系统并不鸡肋反而很重要

    使用django-admin startproject创建项目后,Django就默认安装了一个采用session实现的认证系统。这是Django相比于其他框架的一大特点:自带认证系统,开箱即用。...至于保存哪个认证后端,Django按以下顺序选取: 使用login()函数的backend参数值,如果赋值了的话。 使用user.backend的值,如果有的话。...login_required的login_url参数是指登录页面的url,可以自定义,默认是/accounts/login/,需要在URLconf中关联登陆视图: from django.contrib.auth...但有时我们需要自定义url,URLconf中添加自定义url后,再加上相应视图即可,例如: from django.contrib.auth import views as auth_views urlpatterns...访问http://127.0.0.1:8000/admin/,用超管登录管理后台。 就可以使用Django自带认证系统了。

    1.6K70

    自定义Django认证系统的技术方案

    Django已经提供了开箱即用的认证系统,但是可能并不满足我们的个性化需求。自定义认证系统需要知道哪些地方可以扩展,哪些地方可以替换。本文就来介绍自定义Django认证系统的相关技术细节。...自定义认证后端 AUTHENTICATION_BACKENDS Django默认认证后端为: ['django.contrib.auth.backends.ModelBackend'] 可以settings.py...'django.contrib.staticfiles', 'myapp.apps.MyappConfig' # 新增 ] 第四步(可选),如果需要使用Django自带管理后台,那么要在admin.py...参考AbstractUser的实现: REQUIRED_FIELDS = ['email'] 这表示email是必填的,使用createsuperuser命令,会提示必须输入。...Template和Form不属于前后端分离的技术,在学习可以选择性跳过。公众号后台回复“加群”,“Python互助讨论群”欢迎你。

    1.2K10

    使用Django实现微信公众号用户openid登录认证

    Django中进行自定义认证很是方便,完成一个自定义的认证只需要三步: 1、编写一个认证后端: 一个认证后端是个实现两个方法的类: get_user(user_id)和authenticate(**...setting.py中指定认证后端: 底层,Django 维护一个“认证后台”的列表。...当调用django.contrib.auth.authenticate() Django 会尝试所有的认证后台进行认证。...如果第一个认证方法失败,Django 将尝试第二个,以此类推,直至试完所有的认证后台使用的认证后台通过AUTHENTICATION_BACKENDS 设置指定。...',) 第一个认证后端是Django默认的认证方式,因为Web端还需要使用,所以保留,第二个就是基于openid的认证后端。

    2.1K10

    学习版pytest内核测试平台开发万字长文入门篇

    登录没有做用户名和密码校验,新增用户才会做校验。 创建登录界面,从localStorage中移除userInfo和token,登录信息保留7天: ?...不过需要对user表进行自定义改造,所以通过配置里面的AUTH_USER_MODEL指定为刚刚创建的user应用的User。...新增用户的时候,需要从角色列表中选择角色,需要后端提供这样的接口,使用ListAPIView: ?...使用新用户登录,管理员用户能登录成功,开发和测试由于没有后台管理权限,点击登录接口后会提示“无菜单权限”。...找到自定义密码的用户,点击重置密码,重置成功后,重新登录使用自定义密码登录失败,使用默认密码qa123456登录成功。 点击左侧菜单旁边的面包屑按钮,能收起和展开左侧菜单。

    4.9K30

    电商价格监控——项目介绍和架构演变

    至于我为什么这么认为,这就涉及到Flask和Django的区别了,我摘抄一段答案在这里: Flask Flask与关系型数据库的配合使用不弱于Django,而其与NoSQL数据库的配合远远优于Django...好评如潮 Django的自带ORM非常优秀 Django自带的模板引擎 Django自带ORM也使Django与关系型数据库耦合度过高,如果想使用MongoDB等NoSQL数据,需要选取合适的第三方库...Django虽然重,但胜在能让小白对各个系统(管理后台,用户系统,登录注册,邮箱验证,数据库ORM等)都有直观且实际的概念,知道各个系统一个web项目中应该发挥的作用。...数据库:使用Mysql作为商品和用户数据库 Web端:DjangoDjango大而全,使用到了Django自带的后台管理,数据库ORM,登录验证,Session,邮件等子模块 ? ?...这一期的主要改动有: 使用Springboot代替Django作为后台,向前端提供API 使用React作为前端,接受JSON数据 改用任务队列发送邮件 代理池支持免费代理,收费代理 免费代理使用Github

    2K31

    电商价格监控——项目介绍和架构演变

    至于我为什么这么认为,这就涉及到Flask和Django的区别了,我摘抄一段答案在这里: Flask Flask与关系型数据库的配合使用不弱于Django,而其与NoSQL数据库的配合远远优于Django...好评如潮 Django的自带ORM非常优秀 Django自带的模板引擎 Django自带ORM也使Django与关系型数据库耦合度过高,如果想使用MongoDB等NoSQL数据,需要选取合适的第三方库...Django虽然重,但胜在能让小白对各个系统(管理后台,用户系统,登录注册,邮箱验证,数据库ORM等)都有直观且实际的概念,知道各个系统一个web项目中应该发挥的作用。...数据库:使用Mysql作为商品和用户数据库 Web端:DjangoDjango大而全,使用到了Django自带的后台管理,数据库ORM,登录验证,Session,邮件等子模块imageimage ?...这一期的主要改动有: 使用Springboot代替Django作为后台,向前端提供API 使用React作为前端,接受JSON数据 改用任务队列发送邮件 代理池支持免费代理,收费代理 免费代理使用Github

    1.3K20

    Django Admin后台管理

    Django通过简单配置就可以实现数据模型的后台管理。一般管理界面是给系统管理员使用的,以完成数据的CURD。 1.本地化 将语言和时区本地化,修改settings.py文件。...2.创建超级管理员 python mange.py createsuperuser 3.注册模型类 登录后台管理后,默认没有任何模型类,需要在应用中的admin.py文件中注册,才可以在后台管理中看到...admin.py创建一个admin.ModelAdmin的子类,注册模型类时调用admin.site.register方法第二个参数中指定自定义的模型管理类。...,而方法列是不能排序的,如果需要排序需要设置admin_order_field属性来为方法指定排序依据。...5.其他 富文本编辑器 后台管理员如果需要后台编辑带样式的文字,如编辑对商品的详细信息描述,就需要使用富文本编辑器。这里以tinymce为例Django Admin后台中如何使用富文本编辑器。

    2.8K10

    自定义认证后台

    但是在实践中,网站可能还需要邮箱、手机号、身份证号等进行登录,这就需要我们自己写一个认证后台,用于验证用户输入的用户信息是否正确,从而对拥有正确凭据的用户进行登录认证。...Email Backend 本示例项目中,用户注册需要填写邮箱。因为 Django auth 应用内置只支持用户名和密码的认证方式,所以目前用户是无法使用 Email 进行登录的。...配置 Backend 接下来就要告诉 Django需要使用哪些 Backends 对用户的凭据信息进行验证,这需要在 settings.py 中设置: settings.py AUTHENTICATION_BACKENDS...是 Django 内置的 Backend,当用户提供的是用户名和正确的密码该 Backend 会通过验证;第二个 Backend 是刚刚自定义的 Backend,当用户提供的是 Email 和正确的密码该...测试 登录界面输入注册的邮箱和正确的密码,可以发现也可以登录成功了,说明我们自定义的 Backend 是有效的。大功告成!

    88880

    Django学习-第二讲 DjangoURL与视图

    因此django给我们提供了一个方法,可以app内部包含自己的url匹配规则,而在项目的urls.py中再统一包含这个app的urls。使用这个技术需要借助include函数。...,前台和后台同时包含了,登录的功能,比如我们写好了一个登录 功能,但是映射路径 的时候需要改名字。...1.为什么需要URL命名 因为项目开发的过程中URL地址可能经常变动,如果写死会经常去修改 2.如何给一个URL指定名称 path("",views.index,name="index") 3.应用命名空间...,使用 redirect方法进行url重定向 # urls中指定了url的name,此时地址栏中的登录不管是什么可以随便变 # 我们只需要通过reverse将其对应的url...') else: # 没有就到登录页面,使用 redirect方法进行url重定向 #urls中指定了url的name,此时地址栏中的登录不管是什么可以随便变

    1.1K10

    django 的form规则组件的笔记(附代码)

    目录 1 为什么使用这个 2 form案例 3 form 自定义错误信息 4 form内部原理 5 ajax传值 6 返回数据为json格式 7 验证格式错误 8 自定义正则表达式 9 form 内置字段...内置插件: 10.4 NumberInput 10.5 EmailInput 10.6 URLInput 10.7 PasswordInput 1 为什么使用这个 因为我们后端要验证前段传过来的东西,...不能只是前段进行验证 2 form案例 使用方法 1 写一个form.py文件 里面就是写对一个表的规则,比如用户登录的规则,对用户名密码的长度进行判断 from django.forms...min_length=2,required=True) password = fields.CharField(max_length=20,min_length=2,required=True) 2 登录的...自己的信息,我们想自定义错误信息 3 form 自定义错误信息 # 定义登录的规则 class LoginForm(Form): username = fields.CharField(

    97410

    py3.6+xadmin的自学网站搭建

    xadmin安装 由于安装需要依赖包并且暂时不支持py3等原因,直接pip install的方法很容易就狗带了。...当然你还需要创建后台管理的超级管理员。...登陆注册 为了使用django后台自带的认证与登陆,所以我们的用户表最好还是继承它的用户表比较好,这样我们登录认证和session写入django都帮我们做好了,所以别人做好的东西,当然是拿来用啦。...关于登陆,django自己有一个后台的登陆系统,并且xadmin的登陆是它自己做的,你没有进行配置,我们登陆可以使用这个模块: login视图 避免auth的login方法与我们定义的视图函数名称重复...如果我们想要使用账号或者邮箱都可以登录,那么我们需要自定义auth方法。django允许我们配置文件中增加一个变量完成自定义

    1.1K100

    走进 model

    Python 内置了 SQLite,你无需安装就可以使用它,但当你开始一个真正的项目,你可能更倾向使用一个更具扩展性的数据库,例如 MySQL, 配置文件中使用 SQLite 作为默认数据库,我们的演示也用...这些应用被默认启用是为了给项目提供方便,比如 django.contrib.admin会帮你建立个管理后台django.contrib.auth会极大方便登录验证,等等,后续我们会陆续介绍到。...这些应用都需要数据表,比如 django.contrib.admin是后台管理,那么就必须要有后台管理员。那么就要求数据库中必须有类似user表的来维护管理员数据。...创建一个管理员账号 要登录后台,首先必须有管理员账户,运行如下命令: ?...启动我们的工程,浏览器中输入 http://127.0.0.1:8000/admin/,系统会跳转到后台系统的登录页面: ?

    95310

    零基础使用Django2.0.1打造在线教育网站(九):初识后台管理

    你可能会问,为什么会有这个页面,我可是什么操作也没干啊(一脸无辜)。对的,你确实什么也不用干,因为Django已经帮你做好了。...我们回到后台页面: 有登录按钮,所以我们需要先注册一个账号,Django默认是不会给你创建账号的。...并在登录页面输入刚才注册的账号信息(默认登录方式是用户名 + 密码,后面会教你如何实现用户名或邮箱+密码登录登录形式),点击登录,就进入后台了: 全是英文,我们去设置里配置一下:打开eduline...Xadmin的使用介绍 正如前面你所知道的,Xadmin是基于Django的admin来开发的,所以Xadmin也继承了许多admin的用法,下面就分别介绍一下它们的使用情况: 因为我们之前admin...而admin和 xadmin就不一样了,它们是对于每张表都可以进行增删改查的管理器,因此我们还可以增删改查的基础上加上我们自己的后台逻辑,完成我们自定义的功能。

    1.2K30

    Django来敲门升级版----认证authenticate

    (username=’account’) user.set_password(‘new_password’) user.save() 当然如果你已经有了后台管理员用户的话,同样可以登录后台管理系统之后再管理界面中直接进行修改...,并且尝试进行对象数据更新的情况下,至少需要一个对该对象操作 ‘change’权限才可以 访问视图中的’delete’处理函数并尝试删除一个对象,至少需要一个该对象的’delete’权限才可以 权限的设置不仅仅可以指定在类型上...默认情况下,当我们项目中执行数据库操作migrate,添加在INSTALLED_APPS列表中的权限认证模块django.contrib.auth需要的数据都会被执行到数据库中,并添加对应的默认权限操作...登录失败操作 实际项目操作过程中,需要用户身份认证才能访问的函数的正确作法推荐两种,一种是认证失败跳转到登录页面,但是要附带当前路径信息,方便用户登录成功以后直接跳转到正在访问的页面,另一种直接跳转错误页面即可...登录认证装饰器 Django提供了内置封装的装饰器进行登录认证操作,认证失败自动跳转到项目配置文件指向的LOGIN_URL路径 from django.contrib.decorators import

    59430

    如何让 Python 写的 API 接口同时支持 Session 和 Token 认证?

    通常情况下,需要用户进行登录的 API,我们都统一使用 Token 来进行认证,这样可以确保接口对多端的支持。...RemoteUserAuthentication(远程用户分组):这种身份认证允许将身份认证交给另一个 Web 服务器(通过设置REMOTE_USER变量指定认证服务器地址) 除此之外,我们还能自定义身份认证... DRF 中使用认证 DRF 框架中,可以通过 2 种方式配置认证方式。...需要特别注意的一点是,如果使用 Session 认证,那么登录页面的时候,需要使用 Django 默认的登录视图进行登录操作。...同时, Web 页面进行接口请求的时候,需要在 headers 头里面带上X-CSRFToken参数,其值为 Django 的 csrf_token,例如: headers: {"X-CSRFToken

    2.6K20

    Django-中间件-csrf扩展请求伪造拦截中间件-Django Auth模块使用-效仿 django 中间件配置实现功能插拔式效果-09

    注释掉 csrf 中间件 单功能开启 csrf 校验:csrf_protect Auth 模块 使用 django 自带的 auth 表做登录功能 核心代码 自定义扩展 autor 表字段 效仿 django...只要是涉及到全局的校验几乎都可以中间件中完成,第一间该想到的也是中间件 django 的中间件是设计比较完善的,逻辑最清晰,最简单(flask的中间件不如它) 讲完这个中间件就知道为什么我们前面每次提交...,等请求再次来到最后一层中间件返回数据的同时,会保存一份缓存数据库中。...后台管理只有超级用户才能进入 用了 Auth 模块的方法 ,就最好都用 Auth 模块的方法 修改密码必须调用 .save() 保存,否则无效 使用 django 自带的 auth 表做登录功能 涉及到的...其他配置 # 告诉 django 不再使用 auth 默认的表 而是使用自定义的表 AUTH_USER_MODEL = 'app01.Userinfo' # '应用名.模型表类名' # ...

    1.4K50

    django入门:Admin管理系统及表单(干货)

    视图及模版》 django 的强大之处还有自带后台管理系统,真心给力!!...这一部分将介绍 django 自带的后台管理系统,以及如何通过表单提交数据 django admin 后台管理系统 在后台管理系统注册创建的模型 from django.contrib import admin...admin 主界面 当然,django 自带的 admin 管理系统不止那么点功能,接着我们通过定义一些参数,来定制 admin 界面 自定义 admin # 使用后台管理的时候,可能需要自己定制...admin 管理界面 为了可以和用户进行交流,我们需要获取用户的一些评论之类的,所以我们需要通过表单让用户提交信息,接下来我们将了解下 django 的表单 django 表单 存在相应模型(POST...# 表单对应的数据库模型 model = Post # 指定表单需要显示的字段 fields = ['title', 'body'] 2.创建表单视图 from

    2.9K20

    零基础使用Django2.0.1打造在线教育网站(十一):登录页面实现

    /,全部替换为/static/,你可以使用ctrl+f,先查找出所有再替换也可以的: [8s106142g7.png] 变成了这个样子:[6s223d1sfl.png] 接着,把我们前端资料里的文件都放在指定的文件夹里面...users/views.py文件添加如下代码: from django.contrib.auth import authenticate, login # 当我们配置的url被这个view处理,将会自动传入...如果你继续往下执行的话,会报出下面的错误: login() takes exactly 1 argument (but 2 given) 这是因为我们处理登录时调用了我们自定义名为login的函数:...因此我们一定不能把自定义的函数名和Django自带的函数名取同一个名字,那样会造成系统错误。 所将自定义的函数命名为user_login,就不会出问题了!...我们之前的用户名和账号登录,现在我们尝试使用邮箱和密码来登录try和user所在的两行打上断点开启Debug模式:[a169oshngy.png] 开启debug模式,待网站首页显示出来以后点击登录按钮

    1.7K10
    领券