Я хочу отображать имя перед полем вместо - PullRequest
1 голос
/ 19 декабря 2009

.. whatdoyoucallitanyway ..

У меня есть эта модель:

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 отображают имя, url, kirjeldus вместо имен, которые я для них установил - "Kaardi pealkiri" и т. Д. Как мне использовать их вместо этого?

Ответы [ 2 ]

18 голосов
/ 19 декабря 2009

Вам нужно использовать 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.

0 голосов
/ 19 декабря 2009

Согласно документации , виджет ModelForm извлекает свое значение label из атрибута verbose_name.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...