2010-04-08 34 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) 
    ] 
相关问题