我正在尝试迭代表单字段,而不想使用默认的{{field}}标记。我想在周期中自定义每个字段。
{% for field in wizard.form %}
<div class="row">
<div class="small-8 columns">
<label for="id_{{ field.html_name }}"class="inline{% if field.errors %}error {% endif %}">
{{ field.label }}
</label>
</div>
<div class="small-4 columns">
{{ field|add_error_class:"error" }}
{% if field.errors %}
<small class="error">{{ field.errors.as_text }}</small>
{% endif %}
</div>
</div>
{% endfor %}
我想用一些东西代替
{{ field|add_error_class:"error" }}.
呈现给:
<input class="timepicker" id="id_1-begin_time" name="1-begin_time" type="text" value="01:30:00" />
我想:
<input class="**{{ field.class }}**" id="id_{{ field.html_name }}" name="{{ field.html_name }}" type="**{{ field.type }}**" value="{{ field.value }}" />
答案 0 :(得分:0)
创建标签:
from django import template
register = template.Library()
@register.filter(name='add_class')
def add_class(field, args):
return field.as_widget(attrs={"class": args})
或者在表单中定义。答案是here