为了在Django基于类的视图中更改表单标签中的名称,我必须将此代码写入 get_context_data
ctx['form'].fields['dob'].label = 'Date of Birth'
这会将表单中的dob更改为出生日期。假设模型中有10个这样的字段。有没有更好的方法来更改所有表单字段的名称,而不是编写10行代码?
答案 0 :(得分:4)
不,不是通过你正在尝试的方法。
如果这是ModelForm
,请考虑在相应型号的字段定义中传递verbose_name
,以便在表单上自动使用标签:
class MyModel(models.Model):
dob = models.DateField(verbose_name='date of birth')
这通常更整洁,更易于维护。
如果你的目标是减少代码,那么这仍然可以达到你想要的效果,因为你只需在每个模型字段定义中添加一个参数,而不是添加几个新行&#39 ;到您的代码库。