Django管理员。 list_display中的自定义字段格式

时间:2016-01-14 14:12:10

标签: django-admin

我在admin.py中有以下课程

 class MaterialAdmin(admin.ModelAdmin):
    list_display = ('sp', 'number', 'shelf')

'sp'是物种名称,我需要用斜体显示它以符合动物学命名法。

1 个答案:

答案 0 :(得分:0)

Django Admin会为列表中的每个字段添加一个CSS类。因此,如果您的字段是" sp",它将具有" field-sp"类。 (看一下Django Admin html源代码,看看我在说什么。)

所以它只是在CSS上添加斜体的问题" field-sp"类。有几种方法可以实现这一点,但更简单的方法是在管理员上为该模型override the template加载额外的CSS。

在templates文件夹中,您需要拥有admin / name_of_your_app / name_of_the_model / change_list.html。该文件的内容如下:

auto

(您需要扩展原始的change_list.html以显示其他所有内容。在此示例中,我将加载静态文件以加载CSS文件。如果您以不同方式管理资产,则可能会有所不同。)< / p>

original change_list.html有这一行:

{% extends "admin/change_list.html" %}
{% load staticfiles %}
{% block extrastyle %}
  {{ block.super }}
  <link rel="stylesheet" type="text/css" href="{% static "css/this_is_my_css_file.css" %}" />
{% endblock %}

因此修改CSS可能会有所帮助,但只是覆盖模型的模板更合适。毕竟,可能会有一个&#39; sp&#39;在另一个不需要斜体的模型上的字段。

(相反,如果物种名称总是斜体,那么是的,您可以在全局管理CSS上定义斜体,并为所有模型完成。)

我希望我的解释清楚! YMMV根据您的Django版本 - 我刚刚在Django 1.7项目上尝试过它并按照描述工作。