Django 初始化后台管理 ? 当一个 Django 项目第一次使用 admin 后台管理功能时,需要通过两步实现,第一步是本地化操作,第二步创建管理员
本地化 ? 实现语言和时区本地化,修改 Django 项目的 settings.py 文件,找到如下代码进行修改:
# Internationalization
# https://docs.djangoproject.com/en/3.0/topics/i18n/# LANGUAGE_CODE = 'en-us'
LANGUAGE_CODE = 'zh-hans'# TIME_ZONE = 'UTC'
TIME_ZONE = 'Asia/Shanghai'
? 注释掉的是原代码,
'zh-hans'
代表中国,Asia/Shanghai
代表亚洲上海,修改这两项后,在随后的 admin 界面就可以实现中文了创建管理员 ? 第二步是在注册一个该 Django 项目的管理员账号,在项目文件夹下使用命令行运行
python manage.py createsuperuser
,根据其步骤提示,即可完成创建,过程如下:E:\django\djDemo>python manage.py createsuperuser
Username (leave blank to use 'stephencurry'): lmh
Email address: 2606223743@qq.com
Password:
Password (again):
Superuser created successfully.
? 如上所示即创建完成,这时键入
python manage.py runserver
启动项目,进入项目的地址的 admin 目录下,就可以进入 admin 后台管理界面(地址为127.0.0.1:8000/admin
)文章图片
? 使用刚才注册的用户名密码登录后,即可进入 admin 后台管理主页(我这个新项目没本地化所以是英文,嘿嘿嘿)
文章图片
使用 admin 管理 model ? 通过 Django 的 admin 后台管理功能,我们可以对自己的 model 模型进行管理,但是在这之前要先将模型类在 admin 中进行注册
注册模型类 ? model 模型是属于 app 的,所以我们要在 app 下的 admin.py 中对我们在 models.py 中创建的模型进行注册,这里 models.py 已经创建好了,代码如下:
from django.db import modelsclass BookInfo(models.Model):
btitle = models.CharField(max_length=255)
bpub_date = models.DateField()class User(models.Model):
uname = models.CharField(max_length=30)
upassword = models.CharField(max_length=20)
ugender = models.BooleanField(default=True)
ubirth = models.DateField()
ubook = models.ForeignKey('BookInfo', on_delete=models.CASCADE)
? models.py 中定义了两个 model,现在我们要在 admin 中对他们进行注册
? 注册模型使用
admin.site.register(model)
方法进行注册:from django.contrib import admin
from .models import BookInfo, User# Register your models here.
admin.site.register(BookInfo)
admin.site.register(User)
? Django 有热加载功能,我们修改完代码不需要重新启动项目,只需要等它自己更新完刷新界面就好了,刷新后,就会在 admin 界面中看到模型类:
文章图片
? 随后我们便可以在这个界面中对其进行添加和删除数据的操作,直接鼠标点击就可以完成,就不介绍了!
自定义管理页面(模型管理类) ? 我们也可以通过自定义模型管理类,来自己定义 admin 页面中 model 的显示内容
? 方法就是在 admin.py 中创建模型管理类:
class BookInfoAdmin(admin.ModelAdmin):list_display = ['id', 'btitle', 'bpub_date']class UserAdmin(admin.ModelAdmin):
list_display = ['uname', 'ubook']
? 模型管理类必须继承
admin.ModelAdmin
,在模型管理类中定义名为list_display
的 list,将我们想要 admin 页面进行显示的字段写入这个 list 即可【Django|Django——admin功能、注册模型类、模型管理类】? 等待项目更新后刷新页面,即可看到我们想让 admin 页面显示的字段
文章图片
推荐阅读
- 推荐系统论文进阶|CTR预估 论文精读(十一)--Deep Interest Evolution Network(DIEN)
- Python专栏|数据分析的常规流程
- Python|Win10下 Python开发环境搭建(PyCharm + Anaconda) && 环境变量配置 && 常用工具安装配置
- Python绘制小红花
- Pytorch学习|sklearn-SVM 模型保存、交叉验证与网格搜索
- OpenCV|OpenCV-Python实战(18)——深度学习简介与入门示例
- python|8. 文件系统——文件的删除、移动、复制过程以及链接文件
- 爬虫|若想拿下爬虫大单,怎能不会逆向爬虫,价值过万的逆向爬虫教程限时分享
- 分布式|《Python3网络爬虫开发实战(第二版)》内容介绍
- java|微软认真聆听了开源 .NET 开发社区的炮轰( 通过CLI 支持 Hot Reload 功能)