📅  最后修改于: 2023-12-03 14:55:13.271000             🧑  作者: Mango
在 Django 的管理后台中,每个模型都有一个默认的标题显示在页面上。这个默认标题是根据模型的名称自动生成的,但有时候我们希望能够自定义这个标题来更好地反映模型的含义。
为了更改 Django 管理标题,我们需要对模型的 ModelAdmin
类进行自定义。下面是一些常用的方法来实现这个目标。
ModelAdmin
中定义 verbose_name_plural
可以直接在模型的 ModelAdmin
类中定义 verbose_name_plural
属性来更改标题。verbose_name_plural
属性是一个字符串,表示模型的复数形式的名称。
from django.contrib import admin
from .models import MyModel
class MyModelAdmin(admin.ModelAdmin):
verbose_name_plural = '自定义标题'
admin.site.register(MyModel, MyModelAdmin)
model_admin
模板另一种方法是通过重写 admin/change_list.html
模板来更改标题。首先,创建一个名为 templates/admin
的目录,并在该目录下创建一个名为 change_list.html
的文件。
{% extends "admin/change_list.html" %}
{% block title %}
<title>自定义标题</title>
{% endblock %}
然后,在模型的 ModelAdmin
类中指定使用这个模板:
from django.contrib import admin
from .models import MyModel
class MyModelAdmin(admin.ModelAdmin):
change_list_template = 'admin/change_list.html'
admin.site.register(MyModel, MyModelAdmin)
short_description
属性还可以在模型的方法或属性上使用 short_description
属性来更改标题。short_description
属性是一个字符串,表示方法或属性的自定义标题。
from django.contrib import admin
from .models import MyModel
class MyModelAdmin(admin.ModelAdmin):
def custom_title(self, obj):
return obj.name
custom_title.short_description = '自定义标题'
admin.site.register(MyModel, MyModelAdmin)
以上是三种常用的方法来更改 Django 管理标题。根据你的需求选择其中一种方法即可。希望这些信息对你有帮助!
注意:以上代码示例是基于 Django 3.x 版本编写的。
请注意,在使用这些方法时需要相应地修改模型和模型的字段名称,以适应具体的情况。
参考文档:Django 官方文档 - 模型管理页面