當使用Django「開箱即用」管理表單時,對於複雜模型(包含大量字段),「更改表單」頁面可能會相當長。任何方式在django管理站點添加標籤表單?
我想在「改變形式」使用標籤,這樣的事情可以更可讀(通過標籤組字段...)
而是由我自己做這一切的,由modifiying的「change_form。 html'管理模板,我想知道是否有人已經這樣做了,並想分享代碼,或者現有的Django插件是否已經存在。
預先感謝您回答
當使用Django「開箱即用」管理表單時,對於複雜模型(包含大量字段),「更改表單」頁面可能會相當長。任何方式在django管理站點添加標籤表單?
我想在「改變形式」使用標籤,這樣的事情可以更可讀(通過標籤組字段...)
而是由我自己做這一切的,由modifiying的「change_form。 html'管理模板,我想知道是否有人已經這樣做了,並想分享代碼,或者現有的Django插件是否已經存在。
預先感謝您回答
我不知道這是很容易做到開箱即用,但爲什麼不把字段的字段集,並讓這些字段集可摺疊?它可能稍微不太理想,但是可以開箱即用。有一個在tutorial一個例子:
class PollAdmin(admin.ModelAdmin):
fieldsets = [
(None, {'fields': ['question']}),
('Date information', {'fields': ['pub_date'], 'classes': ['collapse']}),
]
在這個例子中,「最新信息」字段集可以摺疊,只是標題欄。
我知道三個選項來做到這一點:
我已經寫了一個小應用很容易做到這一點:https://github.com/omji/django-tabbed-admin
它試圖以與字段集相同的方式來保持django邏輯。你只是從標籤模型繼承你的管理類。你也可以將它與inline混合並按照你想要的方式排列它們。例如:
class BandAdmin(TabbedModelAdmin):
tab_overview = (
(None, {
'fields': ('name', 'bio', 'style')
}),
MusicianInline,
('Contact', {
'fields': ('agent', 'phone', 'email')
})
)
tab_album = (
AlbumInline,
)
tabs = [
('Overview', tab_overview),
('Albums', tab_album)
]