Python 有没有办法在django管理站点中添加选项卡式表单?

Python 有没有办法在django管理站点中添加选项卡式表单?,python,django,forms,tabs,admin,Python,Django,Forms,Tabs,Admin,当使用Django“开箱即用”管理表单时,“更改表单”页面对于复杂模型(具有许多字段)可能相当长 我想在“更改表单”中使用选项卡,这样事情可以更可读(按选项卡分组字段…) 通过修改“change_form.html”管理模板,我想知道是否有人已经这样做了,是否愿意共享代码,或者是否已有Django插件 提前感谢您的回答我不确定这是否易于开箱即用,但为什么不将字段放在字段集中并使这些字段集可折叠?它可能稍微不太理想,但可以开箱即用。下面是一个例子: 在本例中,“日期信息”字段集可以折叠为标题栏。我

当使用Django“开箱即用”管理表单时,“更改表单”页面对于复杂模型(具有许多字段)可能相当长

我想在“更改表单”中使用选项卡,这样事情可以更可读(按选项卡分组字段…)

通过修改“change_form.html”管理模板,我想知道是否有人已经这样做了,是否愿意共享代码,或者是否已有Django插件


提前感谢您的回答

我不确定这是否易于开箱即用,但为什么不将字段放在字段集中并使这些字段集可折叠?它可能稍微不太理想,但可以开箱即用。下面是一个例子:


在本例中,“日期信息”字段集可以折叠为标题栏。

我知道三种方法:

  • 通过重写admin/change\u form.html模板自己完成
  • 看看
  • 如果您有兴趣在django admin中使用twitter引导主题,请尝试(0.0.2分支)(这太棒了!)

我已经编写了一个小应用程序,可以很容易地做到这一点:

它试图以与字段集相同的方式工作,以保持django逻辑。您只需从选项卡式模型继承admin类。您还可以将其与内联线混合,并按您想要的方式进行排序。例如:

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)
    ]

这在django 2.2上似乎不起作用,但我真的很喜欢它的实现方式,可惜作者似乎放弃了它
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)
    ]