为了更改 Django 基于类的 View 中表单标签中的名称,我必须将此代码写入 get_context_data
ctx['form'].fields['dob'].label = 'Date of Birth'
这会将表单中的 dob 更改为出生日期。假设模型中有10个这样的字段。有没有更好的方法来更改所有表单字段的名称,而不是编写 10 行代码?
最佳答案
不,不是通过您正在尝试的方法。
如果这是 ModelForm
,请考虑在相应模型的字段定义中传递 verbose_name
,以便在表单上自动使用标签:
class MyModel(models.Model):
dob = models.DateField(verbose_name='date of birth')
这通常更整洁且更易于维护。
如果您的目标是减少代码,这仍然可以实现您想要的效果,因为您只需向每个模型字段定义添加一个参数,而不是向代码库添加几个“新行”。
关于python - Django 表单字段名称更改-基于类的 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47028029/