我想在字段前显示名称而不是

2 投票
2 回答
12899 浏览
提问于 2025-04-15 17:12

..你怎么称呼它呢..

我有一个模型:

class Kaart(models.Model):
    name = models.CharField(max_length=200, name="Kaardi peakiri", help_text="Sisesta kaardi pealkiri (maksimum tähemärkide arv on 38)", blank=False, null=False)
    url = models.CharField(max_length=200, blank=False, null=False, name="Asukoha URL", help_text="Täisasukoht (http://www.domeen.ee/kaart/)")
    kirjeldus = models.TextField(max_length=500, name="Kommentaar", help_text="Informatsioon / viide tegijale (mitte kohustuslik)")

然后我有一个表单:

class KaartForm(ModelForm):
    class Meta:
        model = Kaart

在我的模板里有这段代码:

{% for field in form %}
    <p>
    <label>{{ field.label }}</label>
    <em>{{ field.help_text }}</em>
    {{ field }}
    </p>
{% endfor %}

问题是,field.label 和 field.name 显示的是 name、url、kirjeldus,而不是我为它们设置的名字,比如“Kaardi pealkiri”等等。我该怎么才能使用这些名字呢?

2 个回答

0

根据文档ModelForm的控件会从verbose_name属性中获取它的label值。

22

你需要在你的模型中使用 verbose_name,而不是 name

name = models.CharField(max_length=200, verbose_name="Kaardi peakiri", help_text="Sisesta kaardi pealkiri (maksimum tähemärkide arv on 38)", blank=False, null=False)

查看文档。这里没有叫 name 的选项。

撰写回答