2015-03-05 5 views
0

Я пишу шаблон для формы django. Я хотел бы определить тип поля при итерации по всем полям формы (введите атрибут внутри тега ввода).Как проверить тип поля в форме django?

Когда я пишу {{ field }}, он дает мне <input id="id_file" name="file" type="file">, и все в порядке, но я бы хотел переопределить тег ввода (используя бутстрап). Поэтому мне нужно что-то вроде {{ field.type }} написать <input name="{{ field.html_name }}" type="{{ field.type}}" id="{{ field.id_for_label }}" class="form-control">

Возможно, это можно решить с помощью фильтров, но, честно говоря, я не могу этого сделать.

ответ

4

Вы можете получить доступ к объекту через поле field, а оттуда вы будете иметь доступ к widget объекта, который имеет input_type для входов:

{{ field.field.widget.input_type }} 
+0

Спасибо, работает как шарм. – gaculek

+0

@ecstaticpeon Спасибо. Это не работает для CheckboxSelectMultiple. Я использовал для этого настраиваемый шаблонный фильтр, как описано в этом ответе: http://stackoverflow.com/a/1809982/1526703 – Anupam

+0

Полезно знать, спасибо! – ecstaticpeon

-1

Вы можете узнать с помощью «field.field. widget | widget_type "

Смежные вопросы