版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013967628/article/details/83626718
默认情况下,Django 显示每个对象的 str()
返回的值。
如果想显示多个值,并且按照一定顺序则需要
from django.contrib import admin
from .models import BlogType, Blog
@admin.register(Blog)
class BlogAdmin(admin.ModelAdmin):
list_display = ('id', 'title', 'blog_type', 'author', 'get_read_num', 'created_time', 'last_updated_time')
如此则显示定义的这些字段,但是表头中都是默认显示的字段的定义名,如果想自定义表头,则修改model.py中字段的verbose_name
class Blog(models.Model, ReadNumExpandMethod):
title = models.CharField(max_length=50,verbose_name="标题")
blog_type = models.ForeignKey(BlogType, on_delete=models.CASCADE,verbose_name="分类")
content = RichTextUploadingField()
author = models.ForeignKey(User, on_delete=models.CASCADE,verbose_name="作者")
read_details = GenericRelation(ReadDetail)
created_time = models.DateTimeField(auto_now_add=True,verbose_name="创建时间")
last_updated_time = models.DateTimeField(auto_now=True,verbose_name="上次更新时间")
其次修改外部模块的名字
需在model中添加
最后修改app名字
需修改在对应app的apps.py中添加
from django.apps import AppConfig
class BlogConfig(AppConfig):
name = 'blog'
verbose_name = '博客管理'
还有在init.py中对应添加
default_app_config = 'blog.apps.BlogConfig'
如果想要修改外键引入,或者内联进来的字段名则需要如下方式修改
class UserAdmin(admin.ModelAdmin):
inlines = [ProfileInline]
list_display = ('username', 'nickname', 'email', 'is_staff', 'is_active', 'is_superuser')
def nickname(self, obj):
return obj.profile.nickname #自定义字段显示信息
nickname.short_description = '昵称' #字段描述