Django 中的全局 formfield_overriding
我的项目中有自定义文本字段小部件和许多表单。要使用这个自定义小部件,我需要
formfield_overrides = {
TextField: {'widget': CustomTextFieldWidget},
}
在每个 admin.ModelAdmin
表单中编写: ,这很丑陋。
有没有办法只编写一次并在项目中的所有表单中使用自定义小部件?
I have custom textfield widget and many form in my project. To use this custom widget i need to to write:
formfield_overrides = {
TextField: {'widget': CustomTextFieldWidget},
}
in every admin.ModelAdmin
form, and that's just ugly.
Is there a way to write it just once and use custom widget across all forms in project?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
不,没有钩子可以覆盖整个项目中的表单域小部件。
您可以使所有模型管理类继承自
admin.ModelAdmin
的子类,然后只需设置formfield_overrides
一次。No, there is no hook to override formfield widgets across an entire project.
You could make all of your model admin classes inherit from a subclass of
admin.ModelAdmin
, then you only have to setformfield_overrides
once.