Джанго шаблоны вопрос - PullRequest
       9

Джанго шаблоны вопрос

0 голосов
/ 28 февраля 2011

Как я могу получить значение form.field в шаблоне. Я имею в виду не элемент ввода html поля, а значение внутри ввода?

1 Ответ

2 голосов
/ 28 февраля 2011

Чтобы получить связанные данные (в 1.2.3)

{{ form.field.data }}

В версии для разработки это {{ form.field.value }}, которая автоматически извлекает начальные данные ИЛИ связанные данные, тогда как в текущей версии это явный вызов:

form.field.field.initial или form.field.data


Обновление: формы администратора работают по-другому.Прежде всего, BoundField - это {{ adminfield.field }}, а не {{ adminfield }} в вашем комментарии, но у нас есть большие проблемы.

В форме изменений форма не связана , поэтомуданные могут быть извлечены только из исходного словаря, переданного в конструктор формы.Он не доступен через синтаксис шаблона django.

Вот соответствующие строки в BoundField:

    if not self.form.is_bound:
        data = self.form.initial.get(self.name, self.field.initial)
        # you can't do this kind of lookup from the template.

Единственный способ получить доступ к этому типу информации из шаблона без создания тега шаблона(что вам следует!) - циклически проходить по каждому ключу / значению в исходном словаре и сравнивать с именем текущего поля.

  {% for line in fieldset %}
    {% for adminfield in line %}
            {% for k, v in adminfield.field.form.initial.items %}
                {% if k == adminfield.field.name %}
                    {{ k }}:{{ v }}
                {% endif %}
            {% endfor %}
    {% endfor %}
  {% endfor %}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...