Privacy Policy
Snippets index

  Customize form field rendering in Django

templatetags

from django import template

register = template.Library()

@register.inclusion_tag('backend/includes/render_form_field.html')
def render_form_field(field):
    """ Usage: {% render_form_field form.address %}
    """
    return {'field': field, }

render_form_field.html (sample)

<div class="field-wrapper field-{{field.name}}{% if field.errors %} errors{% endif %}">
    <div class="c-1"><label for="{{ field.id_for_label }}">{{ field.label }}</label></div>
    <div class="c-2">
        {{ field }}
        {{ field.errors }}
        {% if field.help_text %}
            <p class="grp-help">{{ field.help_text|safe }}</p>
        {% endif %}
    </div>
</div>

sample usage (html)

<form enctype="multipart/form-data" action="" method="post" id="import_recipes_form" class="form-horizontal">{% csrf_token %}
    <fieldset class="grp-module">
        <div class="grp-row grp-cells-2 grp-cells address value">
            <div class="grp-cell 1-2c-gluid 1-d-4 address">

                {% render_form_field form.address %}

            </div>
            ...