Django后台管理(网页形式)
- 引入:通过对这个页面的操作来实现对新闻数据库的增删改查操作。
- 安装如下步骤
- 管理界面本地化
- 创建管理员用户
- 注册模型类
- 自定义管理页面
1. 管理界面本地化
- 本地化是将显示的语言、时间等使用本地的习惯,这里的本地化就是进行中国化。
- 打开test/settings.py文件,找到语言编码、时区的设置项,将内容改为
LANGUAGE_CODE = 'zh-hans' #使用中国语言
TIME_ZONE = 'Asia/Shanghai' #使用中国上海时间
2. 创建管理员
创建管理员的命令如下,按照提示输入用户名、邮箱密码
python manage.py createsuperuser
3. 启动服务器,打开浏览器
python manage.py runserver
浏览器输入
http://127.0.0.1:8000/admin
4. 注册模块类
登录后台管理后,默认没有我们创建的应用中定义的模块类,需要自己应用中admin.py文件中注册,才可以在后台管理中看到,并进行增删改查。
在booktest/admin.py中写入:
from django.contrib import admin
from booktest.models import BookInfo,HeroInfo
admin.site.register(BookInfo)
admin.site.register(HeroInfo)
备注:此时就可以在界面上看到数据表了。但是看到的界面不太友好,该怎么办?
5. 自定义管理界面
- 首先在03_设计模式.md中的
BookInfo
和HeroInfo
类中重写__str__
方法。位置在A地方。这样管理界面上显示的就变了 - 当然也可以像下面这样直接定义管理界面表列的显示名称,重写admin.py
from django.contrib import admin
from booktest.models import BookInfo,HeroInfo
class BookInfoAdmin(admin.ModelAdmin): # 名字最好保持一致,后面加Admin
list_display = ['id', 'btitle', 'bpub_date']
class HeroInfoAdmin(admin.ModelAdmin): # 名字最好保持一致,后面加Admin
list_display = ['id', 'hname','hgender','hcomment']
admin.site.register(BookInfo,BookInfoAdmin)
admin.site.register(HeroInfo,HeroInfoAdmin)
6. 备注
至于管理界面上的增删改查你可以直接在界面上操作。