Django Formset中的自定义标签

Django Formset中的自定义标签,django,django-templates,django-forms,formset,Django,Django Templates,Django Forms,Formset,如何将自定义标签添加到表单集中 <form method="post" action=""> {{ formset.management_form }} {% for form in formset %} {% for field in form %} {{ field.label_tag }}: {{ field }} {% endfor %} {% endfor %} </form>

如何将自定义标签添加到表单集中

<form method="post" action="">

    {{ formset.management_form }}
    {% for form in formset %}
        {% for field in form %}
            {{ field.label_tag }}: {{ field }}
        {% endfor %}
    {% endfor %}
</form>

现在,在模板中,字段标签不是
'song'
,我如何设置它,使其显示为
'What song you to sing?

您可以在表单中使用
label
参数:

class MySingForm(forms.Form):
    song = forms.CharField(label='What song are you going to sing?')
    ...
如果您使用的是
ModelForms

class MySingForm(forms.ModelForm):
    def __init__(self, *args, **kwargs):
        super(MySingForm, self).__init__(*args, **kwargs)
        self.fields['song'].label = 'What song are you going to sing?'
  
    class Meta:
        model = Sing
更新: (@danielroseman的评论) 或者在模型中(使用
verbose\u name
):


“自定义标签”是什么意思?它们应该是什么样子?它们应该在哪里展示?模板提取的意义是什么?因为不清楚。查看编辑?我得到
TypeError:\uuuu init\uuuuuuuuuuuu()得到一个意外的关键字参数“label”
label
应该是
verbose\u name
,或者只使用第一个位置参数。答案已更新
label
参数仅用于
Form
字段,而不是
Model
字段(我的错误)。你能发布你的表单定义,这样我就可以给你一个100%有效的解决方案吗?我使用的是ModelForm
class SingForm(ModelForm):class Meta:model=Sing
模型字段中带有
verbose\u name
的解决方案应该可以。
class MySingForm(forms.ModelForm):
    def __init__(self, *args, **kwargs):
        super(MySingForm, self).__init__(*args, **kwargs)
        self.fields['song'].label = 'What song are you going to sing?'
  
    class Meta:
        model = Sing
class Sing(models.Model):
    song = models.CharField(verbose_name='What song are you going to sing?',
                            max_length=50)
    ...
class Sing(models.Model):
    song = models.CharField('What song are you going to sing?', max_length=50)
    ...