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

如果我继承了django用户,为什么我的代码没有加密密码?

如果您继承了Django用户模型,并且发现您的代码中没有加密密码,可能有以下几个原因:

  1. 配置错误:在Django中,默认情况下,密码是以哈希方式存储在数据库中的。如果您的代码没有正确配置密码哈希算法,那么密码将以明文形式存储在数据库中。您可以通过在settings.py文件中设置PASSWORD_HASHERS来配置密码哈希算法,确保密码以安全的方式存储。
  2. 自定义用户模型:如果您自定义了用户模型,并且没有正确继承Django提供的AbstractBaseUser或AbstractUser类,那么密码加密的功能可能会丢失。确保您的自定义用户模型正确继承了Django提供的基础用户模型,并且使用了正确的密码哈希算法。
  3. 密码字段错误:检查您的代码中密码字段的定义是否正确。在Django中,默认的密码字段应该是password,并且使用PasswordFieldCharField来存储密码。确保您的密码字段名称和类型正确无误。
  4. 数据库迁移问题:如果您在继承Django用户模型后修改了密码字段的定义,可能需要进行数据库迁移才能生效。确保您已经运行了python manage.py makemigrationspython manage.py migrate命令来应用数据库的变更。

总结起来,如果您继承了Django用户模型但没有加密密码,可能是由于配置错误、自定义用户模型问题、密码字段错误或数据库迁移问题导致的。请仔细检查您的代码和配置,确保密码以安全的方式进行存储。

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

相关·内容

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

你可能会问,为什么会有这个页面,可是什么操作也没干啊(一脸无辜)。对,你确实什么也不用干,因为Django已经帮你做好了。...并在登录页面输入刚才注册账号信息(默认登录方式是用户名 + 密码,后面会教你如何实现用户名或邮箱+密码登录登录形式),点击登录,就进入后台: 全是英文,我们去设置里配置一下:打开eduline...是用户所在表名称: 点击右侧增加用户信息: 我们看到一下信息: 我们尝试再次新建一个用户:NewBai: 新建成功,同时注意Django会自动帮我们把密码进行加密...,而且不能反解,也就是说单向密码加密。...然后点击apply,最后是ok,这样你每次创建新py文件以后,这些信息就都会出现在文件头部。怎么样,新技能Get没有

1.1K30

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

process_request 请求来时候会依次执行 settings.py 配置文件中注册中间件里该方法 如果没有该方法则直接跳过,走下一个中间件 如果该方法里返回了 HttpResponse...# @login_required # 自动校验当前用户是否登录,如果没有登录,(未传参数情况下)默认跳转到 django 自带登录页面(还是 404 ?)...(username=username, password=password) (这样密码没有加密) 核心代码 app01/views.py from django.shortcuts import render...import login_required # 修改用户密码 @login_required # 自动校验当前用户是否登录 如果没有登录 默认跳转到 一个莫名其妙登陆页面 def set_password...is_right = request.user.check_password(old_password) # 将获取用户密码 自动加密 然后去数据库中对比当前用户密码是否一致

1.4K50

15.Django基础十一之认证系统

其中一个往auth_user表里面添加数据命令,可以先多添加几个用户,方便后面操作: python manage.py createsuperuser #要通过这个指令来创建用户,因为这个指令会将你密码加密...比如,想要加一个存储用户手机号字段,怎么办?   聪明你可能会想到新建另外一张表然后通过一对一和内置auth_user表关联,这样虽然能满足要求但是有没有更好实现方式呢?   ...django给我们自动创建一张user表,而如果要用auth模块,就必须要使用(或继承)这张表。   这样既能根据项目需求灵活设计用户表,又能使用Django强大认证系统。...,UserInfo表里就不需要有auth_user里重复字段,比如说username以及password等,但是还是可以直接使用这些字段,并且django会自动将password进行加密   按上面的方式扩展内置...auth_user表之后,一定要在settings.py中告诉Django现在使用新定义UserInfo表来做用户认证。

2.1K20

python独立脚本应用Django项目的环境

一、需求说明   一直用 Django 在开发一个网站项目,其中注册用户和登录,都是使用Django自带认证系统。...主要是对密码加密,在注册或者登录时候,前端传递多来密码,我会使用Djangoset_password()方法在加密一次   经过加密数据库中数据样子如下:   现在有另外一个需求,需要单独写一个脚本...,独立于这个Django项目,要实现功能,就是在通过单独写python3,让用户通过这个脚本可以快读创建Django项目中用户。...其实需求很简单,就是通过python脚本,往Django数据库中写入数据而已,但是有一个困难点,就是密码要借用Django环境,不是说自己按照django加密规则,自己加密就行了,因为这个加密过程中...二、源码解释   为什么使用set_password(), 加密之后就必须要获取原来Django项目的环境呢?

23140

Python进阶35-Django Auth组件

test页面,不管用户没有登录都可以访问,因为没有登录时候,可以用匿名用户访问,Django内置一个登录认证装饰器,如果没有登录,或者是匿名用户,可以跳转到指定页面 模板层 <!...后面传递参数 ## login_url 如果没有登录,跳转到页面 但是如果装饰器需要传递参数,如果有一万个视图函数,就要传递一万次参数?...因为密码加密,所以我们不能直接拿出来,还得用Django给我们写方法。...我们可以通过继承内置 AbstractUser 类,来定义一个自己Model类。 这样既能根据项目需求灵活设计用户表,又能使用Django强大认证系统。...auth_user表之后,一定要在settings.py中告诉Django现在使用新定义UserInfo表来做用户认证。

52220

为什么你要懂点信息安全(续一)

(3) 即使满足(2),如果你换台电脑,如果该电脑里没有你之前私钥,那也看不了别人发过来邮件。 很麻烦吧?安全漏洞就产生在各种麻烦中,比如说「操作安全」。 任何软件都有漏洞。...所以,如果你用了这些框架:如django,rails,expressjs里面都会存用户名,数据库密码。理论上作者应该把这些敏感信息屏蔽,但实际呢?我们能否通过代码找到某个人常用用户名和密码呢? ?...上图是脚本输出信息。本来展示信息要比图中多得多,可以直接打开有泄漏嫌疑代码去进一步嗅探,但内容太多不好一一屏蔽,用gimp(有没有更好mac下免费p图工具?)...还嗅探了一些不认识的人,发现github简直是找寻一个用户惯用用户名和密码宝库。...整个过程中没有用任何高深黑客知识(在此方向我基本是个小白),但通过探寻人性弱点,和一点点脚本能力(几十行代码而已),就可以获取到一些关键信息。

77970

基于Django电子商务网站开发(连载37)

第4章 构建安全网站 4.1 密码加密 在第2.3.2节中提醒过大家,前面的代码是明文存储密码,其实这是很危险,在这里将对密码进行M5加密,以保证信息安全。...注意:加密字符串mystr必须转为bytes,才可以被加密。然后在注册和登录代码中分别调用该方法。 ...#用户注册def register(request):......由于使用MD5对密码进行加密,同样也需要对测试程序interface/util.py进行下调整。 ......在作者著作《软件测试技术实战 设计、工具及管理》一书中序言中曾经提及这么一件事情: “2000年所在公司与CCTV‘开心辞典’目组合作开发网上答题项目,这是一个智力娱乐性节目,编写了前端答题代码...'表单,然后在提交表单时候验证cookie中值是不是与hidden值保持一致,如果保持一致,则返回200代码,否则返回403拒绝访问代码

48110

python技术面试题(十九)--腾讯

因为有一段时间没写代码,对于框架一些东西记忆并不是很清晰,只记得当时使用Django框架并没有导包或者调用什么,而是直接写业务逻辑,所以我答是“Django框架封装了ORM不需要额外安装扩展,可以直接使用...(也许这是面试官想听吧,关注点错误放在查询时导什么包....) 5.多继承写法以及继承顺序问题。...多继承继承所有父类属性和方法。如果多个父类中有同名属性和方法,则默认使用第一个父类属性和方法。...学知识,多问一下为什么,多往底层走一步。比如列表底层实现(当然这次没有问这个)等等。SQL语句,往往简单查询不会考,都是多张表联合查询,此次综合考两个查询。...团队开发注意事项 浅谈密码加密 Django框架中英文单词 Django中数据库相关操作 DRF框架中英文单词 重点内容回顾-DRF Django相关知识点回顾 美多商城项目导航帖

3.7K40

Python 格式化字符串漏洞(Django为例)

但因为我们控制格式化字符串一部分,将会导致一些意料之外问题。最简单,比如: ? 输出了当前已登陆用户哈希过密码。...看一下为什么会出现这样问题:user是当前上下文中仅有的一个变量,也就是format函数传入user=request.user,Django中request.user是当前用户对象,这个对象包含一个属性...password,也就是该用户密码。...但Django仅仅是一个框架,在没有目标源码情况下很难去挖掘信息,所以我思路就是:去挖掘Django自带应用中一些路径,最终读取到Django配置项。...所以,思路就很明确:我们只需要通过某种方式,找到Django默认应用adminmodel,再通过这个model获取settings对象,进而获取数据库账号密码、Web加密密钥等信息。

1.5K20

Django项目(二)

2、视图views.py中代码编写 注册模块属于用户,所以我们在xm_user下views.py中编写代码,以下代码都在xm_user应用下 2.1、以前我们都是在views.py中都是一个方法一个方法...代码一多,可能就乱,本次引出一个新概念,视图类。 顾名思义就是将一个请求规划成一个类。...,所以我这里就不多解释,id在项目中是不能暴露出来,所以需要加密。...今天和上篇代码,以及模板html页面,都会发给大家,目前只能加载注册页面的注册,主页和登陆页图片和和样式还没有修改路径,所以显示不出来,下一节会教大家怎么修改。...另:这个页面真的是不好看,到现在还没搞清楚怎么把代码调成可以滑动如果有知道欢迎后台回复,虽然自己编辑页面是一行,但是到了手机上就不是一行

71220

美多商城项目(四)

承认如今互联网带给我们极大便利,但是真正从中学习的人又有多少呢?放下手机,发呆一会,思考一下自己路。成功是因为什么,失败又是因为什么,善于总结,即使是失败,也是你一笔宝贵财富。 ?...message只是普通字符串正文,如果是多媒体正文,设置html_message。 7.发送邮件之前要生成一个验证链接。 注意:如果直接将用户id放在验证链接中,可能会发生恶意请求。...比如其他人在链接后面1,2,3.....一个接一个尝试。解决办法就是将用户信息进行加密,然后把加密之后内容放在验证链接后面。...token= 参数: 通过查询字符串传递 响应: { "message":"OK" } 代码逻辑: 1.获取token并进行校验(...团队开发注意事项 浅谈密码加密 Django框架中英文单词 Django中数据库相关操作 DRF框架中英文单词

1.2K30

【玩转腾讯云】django 开发Bug追踪平台之用户注册篇(基于腾讯云短信 & redis)

前端页面中,注册和登录页面基本相似,我们可以让这两个页面都继承自母版,做到代码重用 在 web 下创建一个 templates 文件夹,在 templates 文件夹下再创建一个 layout 文件夹放我们母版文件...,要填写数据有 - 用户名 - 邮箱 - 手机号 - 密码 在 web/models.py 文件中创建一个 UserInfo 类,代码如下 ```python from django.db...,但是,对于添加 form-control 属性,之后代码中其他字段都要用到,每次使用for 循环添加很显然有些赘余,我们可以将其封装在一个类中,这样,需要添加样式时候直接继承这个类就可以。...,就可以将用户输入验证码同redis中存进行比较,且如果时间超过 60s,用户就要重新获取验证码 - redis操作可以查看此篇文章: [redis 下载安装 & python 操作redis...,代码如下(前面代码部分同上,只是在js 中添加了 bindClickSubmit 函数,并让其在页面框架加载完成后自动执行)ajax请求这里没有再写一个URL,而是复用了 /register/,只需要判断用户是哪种请求就可以

26.8K88

美多商城前三天重点内容大盘点

上面的虽然很好,但是并不适用于特殊情况,比如我们在项目中需要定义一个手机号字段,我们可以继承Django自带模型类,然后扩展我们需要字段即可。...Nginx在转发时候,有可能下次交给其他服务器处理该用户请求,然后就没有用户一些信息,比如登录状态。)...认证后端类(登录账户支持用户名和手机号) 1. obtain_jwt_token登录视图中没有自己实现账户名和密码校验代码,而是调用了Django认证系统中一个函数进行账户和密码校验。...2.认证系统中 authenticate from django.contrib.auth import authenticate 而 authenticate方法内容也没有自己实现账户和密码校验代码...团队开发注意事项 浅谈密码加密 Django框架中英文单词 Django中数据库相关操作 DRF框架中英文单词

76920

Django之auth模块(用户认证)

auth模块简介 auth模块是对登录认证方法一种封装,之前我们获取用户输入用户名及密码后需要自己从user表里查询有没有用户名和密码符合对象, 而有auth模块之后就可以很轻松去验证用户登录信息是否存在于数据库中...auth django.contrib.auth中提供许多方法,这里主要介绍其中四个: 1 、authenticate()    提供用户认证,即验证用户名以及密码是否正确,一般需要username...用户需要修改密码时候 首先要让他输入原来密码如果给定字符串通过了密码检查,返回 True 使用 set_password() 来修改密码 user = User.objects.get(username...这是django给我们自动创建一张user表,而如果要用auth模块,就必须要使用(或继承)这张表。...需要注意是,UserInfo表里就不需要有auth_user里重复字段,比如说username以及password等,但是还是可以直接使用这些字段,并且django会自动将password进行加密

1.6K50

Django 自带密码加密,自定密码加密方式 及自定义验证方式

django1.6中,默认加密方式是pbkdf_sha256,具体算法不表,一直以来用django自带用户验证都十分顺手,今天有需求,需要修改默认加密方式为md5,具体方法为: 在settings.py...这个是自定义加密方式,就是基本md5,而djangoMD5PasswordHasher是加盐。...完成需求过程中查找了不少资料,最后还是在django文档中找到答案,文档还是很全全面的,以后通读还是感觉有必要。 考虑到Django用户验证模块,证明它已具备跨平台加密模块。...自带模块生成一组密码,这个函数还有一个特点在于每次生成密码还不一样: 代码如下 复制代码 >>> make_password("www.111cn.net", None, 'pbkdf2_sha256...crypt 以上例子使用了第一种加密方式pbkdf2_sha256,crypt和bcrypt都需要另外单独安装模块,unsalted_md5就是常见md5加密如果加密哈希算法不是很了解,那么就使用

4.3K70
领券