Django自定义表单模板和帮助文本

时间:2015-06-15 01:57:41

标签: django django-widget-tweaks

我正在尝试迭代表单字段,而不想使用默认的{{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 }}" />

1 个答案:

答案 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