Django制定模型的显示方式

下面主要与管理站点的定制方式有关。对此,可编辑某某应用程序(这里本人以blog为例)的admin.py 文件,并对其予以修改,如下所示:

from django.contrib import admin
from .models impot Post

@admin.register(Post)
class PostAdmin(admin.ModelAdmin):
     list_display = ('title', 'slug', 'author', 'publish', 'status')

这里,我们将通知 Django 管理站点,当前模型通过继承自ModelAdmin 的自定义类在管理站点中注册,在该类中,可包含管理站点中与模型显示方式及其交互方式相关的信息。相应的,list_display 属性可设置希望在管理对象列表页面中显示的模型字段;@admin.register() 装饰器执行的函数与我们已经替换的 admin.site.register()函数相同,并注册它所修饰的ModelAdmin类。

下面利用更多选项定制管理模型,对应代码如下所示:

@admin.register(Post)
class PostAdmin(admin.ModelAdmin):
    list_display = ('title', 'slug', 'author', 'publish', 'status')
    list_filter = ('status', 'created', 'publish', 'author')  # 右侧栏
    search_fields = ('title', 'body')  # 搜索栏
    prepopulated_fields = {'slug': ('title',)}  # 根据输入的title字段预填充slug字段
    raw_id_fields = ('author',)  # author字段利用搜索微键予以展示
    date_hierarchy = 'publish'   # 导航链接
    ordering = ('status', 'publish')  # 按照 status 和 publish 排序

返回至浏览器并重新加载帖子列表页面,对应结果如下:

在这里插入图片描述
不难发现,在帖子列表页面中显示的字段实际上是 list_display 属性中指定的字段。列表页面包含了右侧栏,并通过 list_filter 属性中包含的字段对结果进行过滤。

综上所述,仅需几行代码,即可定制模型在管理站点上的显示方式。另外,还存在多种方式可定制、扩展Django管理站点。

通过上面几点,希望给各位一点启发,感谢各位的支持。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Erudite_x

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值