更改 Django Flatpages Admin 中的字段

发布于 2024-08-12 17:50:52 字数 159 浏览 3 评论 0原文

使用带有默认管理员的 Flatpages,我需要将模板字段从文本输入更改为选择或带有预定义选项的单选。使用我自己的应用程序之一可以轻松完成此操作 - 只需使用模型中的选项属性即可。

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

Using Flatpages with the default admin, I need to change the template field from a text input with to select or radio with predefined choices. It's easy to do this with one of my own apps - just use the choices attribute in the model.

I have tried a few things - I will add details about those attempts later if necessary - but does anyone know a nice way to do this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

鲸落 2024-08-19 17:50:52

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

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)

Define a custom flatpages ModelAdmin class which inherits from the default one but uses a custom form. On this form, override the field, using the widget you want. Then unregister the flatpages admin and reregister it with your custom class.

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)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文