Django继承AbstractUser扩展字段
使用django实现注册登录的话,注册登录都有现成的代码,主要是自带的User字段只有(email,username,password),所以需要扩展User,来增加自己需要的字段
AbstractUser扩展模型User:如果模型User内置的方法符合开发需求,在不改变这些函数方法的情况下,添加模型User的额外字段,可通过AbstractUser方式实现。使用AbstractUser定义的模型会替换原有模型User。
代码如下:
model.py
settings.py
AUTH_USER_MODEL = 'appname.MyUser' AUTHENTICATION_BACKENDS = ('django.contrib.auth.backends.ModelBackend',)
注意:
1、扩展user表后,要在settings.py 添加
2、认证后台要在settings添加,尤其记得加逗号,否则报错
- 认证后台不加的报错
- 没加逗号的报错
form.py
迁移数据库
python manage.py makemigrations
python manage.py migrate
views.py
注意:
1、登陆的时候用自带的认证模块总是报none
查看源码发现是check_password的方法是用hash进行校验,之前注册的password写法是
这种写法是明文入库,需要更改密码的入库写法
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?