Как вы можете вручную визуализировать поле формы с его начальным значением? - PullRequest
1 голос
/ 14 октября 2010

Я пытаюсь визуализировать поля формы вручную, чтобы мои коллеги-дизайнеры могли манипулировать элементами ввода в HTML вместо того, чтобы бороться с исходным кодом Python.

т. Вместо того, чтобы объявлять поля формы, как это ...

            {{ form.first_name }}   

.. Я на самом деле ...

            <label for="id_first_name">Your name:</label>
            <input type="text" value="{{  form.first_name.somehow_get_initial_value_here }}" name="first_name" id="id_first_name" class="blabla" maxlength="30" >
            {% if form.first_name.errors %}<span>*** {{ form.first_name.errors|join:", " }}</span>{% endif %}

Проблема в том, что, похоже, нет способа получить начальное значение поля во втором методе. {{form.first_name}} оператор действительно отображает входной элемент с правильным начальным значением, но почему-то нет ничего похожего на {{form.first_name.initial_value}} поле, если вы хотите визуализировать форму вручную.

Ответы [ 2 ]

4 голосов
/ 16 октября 2010

Есть интересный давний билет на эту самую проблему.В комментариях есть пример кода для реализации фильтра шаблона, который должен делать то, что вам нужно:

http://code.djangoproject.com/ticket/10427

0 голосов
/ 14 октября 2010
<input value="{{form.name.data|default_if_none:'my_defaut_value'}}" ... />

Вам придется использовать default_if_none, потому что неявное значение связанного поля не будет сохранено в data. Подробнее здесь

...