字段集中的Django ModelAdmin Fieldset

时间:2014-01-14 13:01:56

标签: python django

我被要求创建的是一个管理页面,其中包含以下布局:

  • Fieldset 1名称

    • 第1节名称
      • field 1
      • field 2
  • Fieldset 2名称

    • 第2节名称
      • field 3

等等。

我可以使用ModelAdmin.fieldsets创建字段集,但它的内部分组或“部分”我遇到了困难。要显示的字段都属于同一个模型,所以我无法通过Inlines实现这一点(或者至少我相信我不能)。

我很确定实现我想要的唯一方法是创建一个自定义模板并通过传递Django的默认可爱但我理想的是扩展Django Admin因为这个Fieldset - >部分 - >几个模型将需要字段布局,我不想手动生成表单和每个模型的模板,如果我能帮忙的话。

有人能指出我正确的方向来实现上述布局吗?

由于

2 个答案:

答案 0 :(得分:1)

不幸的是,你运气不好,Django管理员does not support nested fieldsets无法输出其他结构标签,除非通过自定义模板。

你可以看看:
http://django-betterforms.readthedocs.org/en/latest/basics.html

它支持嵌套的字段集,因此在您自定义管理模板时,此代码将为您提供帮助。

答案 1 :(得分:0)

如果您要创建一个类似这样的页面:

enter image description here

然后,您可以将以下内容添加到您的管理文件中:

from django.contrib import admin

class FlatPageAdmin(admin.ModelAdmin):
    fieldsets = (
        (None, {
            'fields': ('url', 'title', 'content', 'sites')
        }),
        ('Advanced options', {
            'classes': ('collapse',),
            'fields': ('registration_required', 'template_name'),
        }),
    )

有关更多详细信息,您可以查看此page