4

使用带有默认管理员的 Flatpages,我需要将模板字段从文本输入更改为选择或带有预定义选项的单选。使用我自己的应用程序之一很容易做到这一点 - 只需使用模型中的选择属性。

我已经尝试了一些事情——如有必要,我稍后会添加有关这些尝试的详细信息——但有人知道这样做的好方法吗?

4

1 回答 1

14

定义一个自定义平面页面 ModelAdmin 类,该类继承自默认类,但使用自定义表单。在此表单上,使用所需的小部件覆盖该字段。然后取消注册 flatpages 管理员并使用您的自定义类重新注册它。

from django.contrib.flatpages.admin import FlatPageAdmin, FlatpageForm

class MyFlatpageForm(FlatpageForm):
    template = forms.ChoiceField(choices=MY_CHOICES)

class MyFlatPageAdmin(FlatPageAdmin):
    form = MyFlatpageForm

admin.site.unregister(FlatPage)
admin.site.register(FlatPage, MyFlatPageAdmin)
于 2009-12-02T14:55:39.373 回答