我想更改添加新对象页面在管理页面中的显示方式。 我不想改变字段但想要排列输入,例如在第一行上的2个字段,然后是一些段落,然后是另外两个字段。 我读到了 add_form_template ,我的猜测是,这应该允许我在不定义表单的情况下更改模板。 这是我的尝试,没有显示字段: 有谁知道我是否需要定义表单并传递它以及如何? 如果我必须传入表单,那么add_form_template用于什么?
from settings import BASE_DIR
import os
@admin.register(Owner)
class OwnerAdmin(admin.ModelAdmin):
add_form_template = os.path.join(BASE_DIR, 'dealer/templates/add_owner.html')
list_display = ('name', 'country', 'city', 'car')
@admin.register(Car)
class CarAdmin(admin.ModelAdmin):
list_display = ('name',)
//----- add_owner.html
{% extends "admin/base.html" %}
{% block content %}
<h1>New Owner</h1>
<form method="POST" class="post-form">{% csrf_token %}
{{ form.as_p }}
<button type="submit" class="save btn btn-default">Create</button>
</form>
{% endblock %}
答案 0 :(得分:1)
您无需更改管理模板即可自定义字段的布局。请改用fieldsets:
<ItemDefinitionGroup>
<Content>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
</ItemDefinitionGroup>