Django自定义用户表与Admin扩展字段教程
189 浏览量
更新于2024-09-01
1
收藏 230KB PDF 举报
在Django中,自定义用户表并结合自定义admin后台字段是一项常见的需求,特别是在需要扩展用户信息或提供特定功能时。以下是实现这一目标的关键步骤和注意事项:
1. 配置自定义用户模型:
在`settings.py`文件中,设置`AUTH_USER_MODEL`变量以指定自定义用户模型。这告诉Django使用哪个模型来管理用户数据。例如:
```
AUTH_USER_MODEL = 'admi.UserModel'
```
这意味着你需要在'app/admi/models.py'文件中定义名为`UserModel`的类。
2. 编写UserModel类:
创建一个新的`UserModel`类,继承自`AbstractUser`,这是一个Django提供的抽象基类,用于处理用户的基本认证和授权功能。在`UserModel`中,你可以添加自定义字段,如`nick_name`(昵称)和`user_address`(住址),如下所示:
```python
from django.db import models
from django.contrib.auth.models import AbstractUser
class UserModel(AbstractUser):
nick_name = models.CharField(max_length=25, verbose_name='昵称')
user_address = models.CharField(max_length=35, verbose_name='住址')
class Meta:
db_table = 'user_table' # 设置自定义表名
verbose_name = '用户'
verbose_name_plural = verbose_name # 复数形式的名称
```
3. 注册UserModel到admin:
在`admin.py`文件中,确保已导入UserModel,并将其注册到Django admin站点,以便在后台管理界面显示和操作:
```python
from django.contrib import admin
admin.site.register(UserModel)
```
4. 迁移和同步数据库:
完成模型定义后,使用`python manage.py makemigrations`创建迁移文件,接着执行`python manage.py migrate`将更改应用到数据库,生成包含新字段的user_table表。
5. 测试:
- 打开数据库管理工具,确认user_table表及其字段已创建。
- 使用`python manage.py createsuperuser`命令创建管理员用户,此时会使用新的UserModel,可以输入自定义的用户信息。
- 登录自定义admin后台,查看和管理用户,包括新添加的字段。
通过这些步骤,你可以成功地在Django项目中自定义用户表,并在admin后台管理用户时扩展字段。记住,保持代码组织良好,遵循Django的最佳实践,这将有助于项目的长期维护和发展。
2021-06-22 上传
2020-09-16 上传
2020-09-18 上传
2023-04-23 上传
2019-04-10 上传
2020-09-18 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
weixin_38605144
- 粉丝: 6
- 资源: 945
最新资源
- SSM动力电池数据管理系统源码及数据库详解
- R语言桑基图绘制与SCI图输入文件代码分析
- Linux下Sakagari Hurricane翻译工作:cpktools的使用教程
- prettybench: 让 Go 基准测试结果更易读
- Python官方文档查询库,提升开发效率与时间节约
- 基于Django的Python就业系统毕设源码
- 高并发下的SpringBoot与Nginx+Redis会话共享解决方案
- 构建问答游戏:Node.js与Express.js实战教程
- MATLAB在旅行商问题中的应用与优化方法研究
- OMAPL138 DSP平台UPP接口编程实践
- 杰克逊维尔非营利地基工程的VMS项目介绍
- 宠物猫企业网站模板PHP源码下载
- 52简易计算器源码解析与下载指南
- 探索Node.js v6.2.1 - 事件驱动的高性能Web服务器环境
- 找回WinSCP密码的神器:winscppasswd工具介绍
- xctools:解析Xcode命令行工具输出的Ruby库