2010-04-08 56 views
3

當使用Django「開箱即用」管理表單時,對於複雜模型(包含大量字段),「更改表單」頁面可能會相當長。任何方式在django管理站點添加標籤表單?

我想在「改變形式」使用標籤,這樣的事情可以更可讀(通過標籤組字段...)

而是由我自己做這一切的,由modifiying的「change_form。 html'管理模板,我想知道是否有人已經這樣做了,並想分享代碼,或者現有的Django插件是否已經存在。

預先感謝您回答

回答

2

我不知道這是很容易做到開箱即用,但爲什麼不把字段的字段集,並讓這些字段集可摺疊?它可能稍微不太理想,但是可以開箱即用。有一個在tutorial一個例子:

class PollAdmin(admin.ModelAdmin): 
fieldsets = [ 
    (None,    {'fields': ['question']}), 
    ('Date information', {'fields': ['pub_date'], 'classes': ['collapse']}), 
] 

在這個例子中,「最新信息」字段集可以摺疊,只是標題欄。

2

我知道三個選項來做到這一點:

  • 動手做做看通過覆蓋管理員/ change_form.html模板
  • 看一看django-admin-tabs
  • 嘗試django-admintools-bootstrap(0.0.2的分支)如果你有興趣在django-admin中使用twitter Bootstrap主題(這太棒了!)
0

我已經寫了一個小應用很容易做到這一點: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) 
    ] 
相關問題