【发布时间】:2009-12-02 14:37:44
【问题描述】:
使用带有默认管理员的 Flatpages,我需要将模板字段从文本输入更改为选择或带有预定义选项的单选。使用我自己的一个应用程序很容易做到这一点 - 只需使用模型中的选择属性。
我已经尝试了一些方法 - 如有必要,我稍后会添加有关这些尝试的详细信息 - 但有人知道这样做的好方法吗?
【问题讨论】:
标签: django django-admin django-flatpages
使用带有默认管理员的 Flatpages,我需要将模板字段从文本输入更改为选择或带有预定义选项的单选。使用我自己的一个应用程序很容易做到这一点 - 只需使用模型中的选择属性。
我已经尝试了一些方法 - 如有必要,我稍后会添加有关这些尝试的详细信息 - 但有人知道这样做的好方法吗?
【问题讨论】:
标签: django django-admin django-flatpages
定义一个自定义平面页面 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)
【讨论】:
from django.contrib.flatpages.models import FlatPage