【问题标题】:Django Form Field name Changing- Class Based ViewDjango 表单字段名称更改 - 基于类的视图
【发布时间】:2017-10-31 04:42:45
【问题描述】:

为了在 Django 基于类的视图中更改表单标签中的名称,我必须将这段代码写入 get_context_data

 ctx['form'].fields['dob'].label = 'Date of Birth'

这会将表格中的出生日期更改为出生日期。假设模型中有 10 个这样的字段。有没有更好的方法来更改所有表单字段的名称而不是编写 10 行代码?

【问题讨论】:

  • 最好在表单初始化方法中执行。 stackoverflow.com/a/637020/2282638
  • 定义一个带有字段标签的dict,以及您要分配的标签,迭代-全部在init方法中。这将是我假设的最干净的方式

标签: python django


【解决方案1】:

不,不是通过您尝试的方法。

如果这是ModelForm,请考虑在相应模型的字段定义中传递verbose_name,以便在表单上自动使用标签:

class MyModel(models.Model):

    dob = models.DateField(verbose_name='date of birth')

这通常更整洁,更易于维护。

如果您的目标是减少代码,这仍然可以实现您想要的,因为您只是在每个模型字段定义中添加一个参数,而不是在您的代码库中添加几个“新行”。

【讨论】:

    猜你喜欢
    • 2016-02-02
    • 2011-07-30
    • 1970-01-01
    • 1970-01-01
    • 2018-04-13
    • 2013-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多