代码之家  ›  专栏  ›  技术社区  ›  Nikolai Prokoschenko

如何向将存储在数据库中的Django字段添加附加说明?

  •  3
  • Nikolai Prokoschenko  · 技术社区  · 15 年前

    verbose_name )并将其存储在数据库中(可能一个三列表“Model,Field,Help”就足够了)。

    1 回复  |  直到 15 年前
        1
  •  4
  •   the    9 年前

    表单中的每个字段都已包含 help_text ,尽管它应该在字段中声明为参数,但在Form类中。

    例如。,

    class SomeForm(forms.Form):
        some_field1 = forms.CharField(verbose_name="Some Field 1", max_length=100, help_text="Please the first field.")
        some_field2 = forms.CharField(verbose_name="Some Field 2", max_length=100, help_text="Please the second field.")
    

    编辑:

    my_form = SomeForm()
    for field_name, new_help_text in my_form_override_help_text_dict.items():
        my_form.fields[field_name].help_text = new_help_text
    

    然后在呈现之前将my_表单添加到上下文中。

    现在,您可以选择在何处以及如何存储帮助文本;e、 例如,您创建一个带有三个字符字段(模型名、字段名、帮助文本)的ModelFieldHelp的解决方案可以工作,然后您需要

    class ModelHelpField(models.Model):
        model_name = CharField(max_length=50)
        field_name = CharField(max_length=50)
        new_help_text = CharField(max_length=50)
    
    field_help_qs= ModelHelpField.objects.filter(model_name='SomeModel')
    my_form_override_help_text_dict = dict([(mfh.field_name, mfh.new_help_text) for mfh in field_help_qs])
    

    推荐文章