当我在Django的管理面板中创建一个TabularInline时,它会为每条记录显示一个标题。我如何更改这个标题?我如何删除这个标题?我在下面包括一个截图。我指的标题是这里的ExportLookupTableElement对象。没有标题的行是添加新字段的额外字段。我希望整个表看起来像这样。
hpcdzsge1#
根据nattster的回答,我这样做了:编辑/创建templates/admin/base_site.html:
templates/admin/base_site.html
{% extends "admin/base.html" %} {% block extrastyle %} <link rel="stylesheet" href="{% static "admin/css/admin_overrides.css" %}" /> {% endblock %}
创建admin/css/admin_overrides.css:
admin/css/admin_overrides.css
/* StackedInline */ .inline-group .hide-title h3 b, .inline-group .hide-title h3 .inline_label { visibility: hidden; } /* TabularInline */ .inline-group .tabular .hide-title .original > p { display: none; } .inline-group .tabular .hide-title tr.has_original td { padding-top: 8px; }
现在,您可以隐藏某些内联的标题,而保留其他内联的标题:
class TestTabularInline(admin.TabularInline): classes = ("hide-title",) ... class TestStackedInline(admin.StackedInline): classes = ("hide-title",) ...
sqxo8psd2#
如果你能负担得起内联模型的目的,从它的__str__方法返回一个空字符串与上面提供的解决方案具有完全相同的效果。title元素仍然在HTML中,但不再占用任何可见空间。
__str__
class TestDetail(models.Model): ... def __str__(self): return ''
lyfkaqu13#
你可以通过覆盖Django的admin css来移除这个标题:1.使用以下代码在静态目录中创建css/custom_admin.css:
css/custom_admin.css
.inline-group .tabular tr.has_original td { padding-top: 8px; } .original { display: none; }
1.编辑您的admin.py文件,以包含您想要删除的ModelAdmin的额外css标题:
admin.py
class TestDetailInline(admin.TabularInline): model = TestDetail class TestAdmin(admin.ModelAdmin): class Media: css = { 'all': ('css/custom_admin.css', ) # Include extra css } inlines = [TestDetailInline]
或者你也可以通过下面的answer来覆盖所有管理页面的css。
3条答案
按热度按时间hpcdzsge1#
根据nattster的回答,我这样做了:
编辑/创建
templates/admin/base_site.html
:创建
admin/css/admin_overrides.css
:现在,您可以隐藏某些内联的标题,而保留其他内联的标题:
sqxo8psd2#
如果你能负担得起内联模型的目的,从它的
__str__
方法返回一个空字符串与上面提供的解决方案具有完全相同的效果。title元素仍然在HTML中,但不再占用任何可见空间。lyfkaqu13#
你可以通过覆盖Django的admin css来移除这个标题:
1.使用以下代码在静态目录中创建
css/custom_admin.css
:1.编辑您的
admin.py
文件,以包含您想要删除的ModelAdmin的额外css标题:或者你也可以通过下面的answer来覆盖所有管理页面的css。