知识点
设置语言为中文
?
settings.py中设置
LANGUAGE_CODE='zh-hans'
设置时间为中国时间
?
settings.py中设置
TIME_ZOME="Asia/Shanghai"
创建超级管理员
?
python manage.py createsuperuser
让后台可见应用中的模型类
?
admin.py中
1,从应用中导入models模块
from 应用 import models
2,注册模型类
admin.site.register(models.模型类名称)
!
from bookTest import models
admin.site.register(models.Book)
后台中每一行数据都看不懂,如何让它正常显示
?
在模型类中定义__str__方法
只要让该方法返回想要的内容就好
注,需要返回字符串内容
!
class Book(models.Model):
title = models.CharField(max_length=20)
def __str__(self):
return self.title
如何控制数据行的显示字段
即,后台中一行数据显示哪些字段
?
主要通过在注册模型类时加入第二个参数实现
1,定义模型管理类
写一个自定义的类,让它继承admin.ModelAdmin
自定义类中定义类属性
list_display = [字段1,字段n]
2,注册模型管理器
admin.site.register(模型类,模型管理类)
!
#定义模型类
class BookAdmin(admin.ModelAdmin):
list_display=['id','title','info']
# 注册模型类
admin.site.register(models.Book, BookAdmin)
启动项目,进入后台
http://127.0.0.1:8000/admin/
希望看到中文的界面
settings.py
》顺带着修改一下时间
获得后台的帐号密码
创建超管理员
python manage.py createsuperuser
输入刚刚创建好的用户名和密码,可登陆进后台
后台管理主要操作admin.py
期望后台中可以看到相关的数据
》注册模型类
操作对象,应用下admin.py
1,导入模型类(models.py中我们自定义的那个类)
2,介绍后台认识模型(注册模型类)
admin.site.regisetr(模型类名)
》查看效果
在后台查看数据,体验
点迥
》明确,为什么会有我们看不懂的数据存在
思考,如何控制一个对象的打印输出
obj = Cat()
print(obj)
得到的是一个我们看不太懂的东西
如果,我希望print(obj)能够显示 222
怎么办?
》通过类的魔法方法 __str__
可以解决
解决数据行内容看不懂的问题
通过修改模型类,给模型类新增一个__str__
方法
来控制一行数据在后台的显示
代码的效果
通过后台的相关操作
》新建数据
》修改数据
直接点击要修改的数据
然后在弹出的框中修改数据,然后提交
》删除数据
控制数据行内容的显示
主要是在注册模型类的时候,加入第二个参数
第二个参数是模型管理类(需要自己定义)
》模型管理类的定义
class 模型管理类名(admin.ModelAdmin):
list_distplay = ['id',其它字段]
》注册模型管理类
admin.site.register(models.Book, BookAdmin)