自动大写 ModelChoiceField

Auto-capitalize ModelChoiceField

我有一个名称不需要大写的类别模型。

当它在带有 ModelChoiceField 的模板中呈现时,我需要将它的第一个字母大写。

既然我做不到{{ form|capfirst }},我该怎么办?

谢谢。

您可以使用 lower:

{{ form|lower|capfirst }}

或者您可以覆盖表单的 __init__ 方法。像这样:

class MyModelForm(forms.ModelForm):
    def __init__(self, *args, **kwargs):
        super(MyModelForm, self).__init__(*args, **kwargs)
        self.fields['category'].label_from_instance = obj.category.capitalize()