Django表单字段名称更改 - 基于类的视图

时间:2017-10-31 04:42:46

标签: python django

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

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

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

1 个答案:

答案 0 :(得分:4)

不,不是通过你正在尝试的方法。

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

class MyModel(models.Model):

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

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

如果你的目标是减少代码,那么这仍然可以达到你想要的效果,因为你只需在每个模型字段定义中添加一个参数,而不是添加几个新行&#39 ;到您的代码库。