2016-01-14 297 views
0

自定義字段格式我有下面的類在admin.pyDjango管理員。在list_display

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

「SP」是種的名字,我需要證明它以斜體用動物命名的一致性。

回答

0

Django Admin將爲列表中的每個字段添加一個CSS類。所以如果你的領域是「sp」,那麼它將擁有「field-sp」類。 (看看Django的管理員的html源代碼,看看我在說什麼。)

所以這只是一個在CSS中爲那個「field-sp」類添加斜體的問題。有幾種方法可以實現此目的,但更簡單的方法是在管理員上使用該模型的override the template,以使其加載額外的CSS。

在模板文件夾中,您需要具有admin/name_of_your_app/name_of_the_model/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 %} 

(您需要延長一切原來change_list.html露面而在這個例子中,我加載staticfiles加載CSS文件。如果你不同的方式管理自己的資產,這可能會發生變化)

original change_list.html有這樣一行:

<link rel="stylesheet" type="text/css" href="{% static "admin/css/changelists.css" %}" /> 

所以修改CSS可以幫助,但它更合適的,只是覆蓋爲模型的模板。畢竟,在另一個模型上可能有一個「sp」字段,不需要用斜體表示。

(相反,如果物種的名稱將永遠是斜體,那麼,你可能只是定義在全局管理CSS斜體和所有車型來完成。)

我希望我的解釋很清楚了! YMMV根據你的Django版本 - 我只是在Django 1.7項目上試過,並按照描述工作。

+0

它工作得很好。非常感謝!!! –