在admin.py下,有个叫ModelAdmin的家伙是专门为Model进行量身打造的武器。在base/admin.py里添加PostAdmin。
注册Model到ModelAdmin中的方法有两种,一种是通过装饰器@admin.register(Model名称),还有一种是用admin.site.register(Model, ModelAdmin)。
将之前base/admin.py内容调整如下。
from django.contrib import adminfrom .models import Post@admin.register(Post)class PostAdmin(admin.ModelAdmin): # 信息列表里显示的内容 list_display = ('name', 'createDate', 'color_state') # 添加或修改里显示的内容项 fields = ('name',)
运行项目,进到新增岗位窗口,你会发现创建日期,竟然神奇的没了。
![0174fc322af7fbe077a3b36472f1e45f.png](https://i-blog.csdnimg.cn/blog_migrate/b5819eac835a50d20bc529e917388774.jpeg)
将department/admin.py里的内容进行调整,相关属性的作用都在代码注释里作了说明,好好看一看,别偷懒。
from django.contrib import adminfrom .models import Department# 全局设置空值为'--'# admin.AdminSite.empty_value_display = '--'@admin.register(Department)class DepartmentAdmin(admin.ModelAdmin): # 信息列表里显示的内容,默认第1个加链接 list_display = ('name', 'leader', 'phone', 'region', 'address', 'createDate') # 值为空时,设置为指定值 empty_value_display = '--' # 设置需要添加标签的字段 list_display_links = ('name',) # 每页显示的数据数量,默认是100 list_per_page = 5 # 指定排序字段,加"-"降序,否则升序 ordering = ('-createDate',) # 是否在【执行】按钮右边显示选择对象的说明,默认为True actions_selection_counter = True # -------添加或修改里不显示exclude指的项------- exclude = ['createDate'] # 与 exclude相对,内部()选定的字段在同一行显示 # 默认情况下,系统会为你的模型动态的创建ModelForm,可定义 # form = DepartmentModelForm # fields = ('name', ('leader', 'phone'), 'region') # 将字段进行分块布局 fieldsets = ( (None, { 'fields': ('name', 'leader', 'phone', 'region') }), ('办公地址', { 'classes': ('collapse',), 'description': '还未确定办公地址时可以不填写', 'fields': ('address', 'longitude', 'latitude') }), )
定义之后输出结果
![b565a3dc62514e16ece67e99eee57237.png](https://i-blog.csdnimg.cn/blog_migrate/2f4edcf03f34eba2727527989c697c03.jpeg)
有关admin后台的内容,从Django2.2升级到Django3.0时,其实并没有多大的变化。因为我们最终并不会采用默认的后台。如果你想进一步了解,我将之前的整理出来给你。只是那时候今日头条的编辑功能没现在这么强大,排版可能有点乱,请多包涵。
1. 《第29章 Django的后台管理,admin来了》
2.《第30章 Django可以定义成你想要的...》
3. 《第31章 Django后台继续定义成你想要的》
4. 《第32章 Django的ModelAdmin》
5.《第33章 Django多表关系之一对一》
6.《第34章 Django多表关系之一对多》
7.《第35章 Django多表关系之多对多》
8.《第36章 Django后台中的自定义操作》
好了,有关Django3.0后台单表内容定义的内容,老陈讲完了,如果觉得对你有所帮助,希望你能转发点赞,让更多的人看到这篇文章。你的转发和点赞,就是对老陈继续创作和分享最大的鼓励。
一个当了10年技术总监的老家伙,分享多年的编程经验。想学编程的朋友,可关注今日头条:老陈说编程。我在分享Python,前端、Java和App方面的干货。关注我,没错的。
#Python##Django##程序员##Web##项目实战#