【问题标题】:Override helptext in Wagtail EditView覆盖 Wagtail EditView 中的帮助文本
【发布时间】:2021-11-23 07:59:08
【问题描述】:

我正在尝试在 wagtail 管理员(编辑视图)中覆盖在我的模型中设置的帮助文本。我试过下面的代码,但文字没有改变,这是为什么呢?

    class MemberRegistrationEditView(EditView):

        def get_form(self):
            form = super().get_form()
            form.base_fields.get("own_email").help_text = "Test"
            return form

【问题讨论】:

  • 可以先在get_form中使用print()看看这个函数是否执行。
  • 我添加了一个断点检查,它被命中了。
  • 在分配Test 之前,您可以使用print() 检查.help_text 中的内容。也许它不存在并且您使用了错误的字段。
  • @furas 我已经使用断点来检查它是否实际上覆盖了正确的字段,但这并不能反映整个页面何时加载

标签: python django wagtail wagtail-admin


【解决方案1】:

感谢您发布您的问题。我理解你想要达到的目标。 一般来说,其他人可能不同意,但我会在表单 dunder init 函数中执行此操作 (__init__)

class MyForm(forms.Form):
    def __init__(self, *args, **kwargs):
        self.base_fields['own_email'].help_text = "Test"
        super().__init__(*args, **kwargs) 

值得注意的是,每次使用此特定表单时,这都会替换帮助文本。

如果您想在某个视图中执行特定操作,那么我建议您简单地继承您想要的表单而不是 forms.Form,然后将视图上的 form 属性替换为新表单。

【讨论】:

    猜你喜欢
    • 2011-04-11
    • 2011-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多