{% extends 'base.html' %} {% load i18n %} {% block media %} {{ form.media }} {% endblock %} {% block content %}
{% csrf_token %} {% if form %}

{% trans "Required" %}

{{ form.non_field_errors }}
{% for field in form %} {% if field.field.required %}
{% if field.label %} {{ field.label_tag|safe }} {% endif %} {{ field.errors }} {{ field|safe }} {% if field.help_text %}{{ field.help_text }}{% endif %}
{% endif %} {% endfor %}

{% trans "Optional" %}

{% for field in form %} {% if not field.field.required %}
{{ field.label_tag|safe }} {{ field.errors }} {{ field|safe }} {% if field.help_text %}{{ field.help_text }}{% endif %}
{% endif %} {% endfor %}
{% endif %} {% block formset %} {% if formset %} {# Using the form prefix as class for CSS targeting purposes #} {% if formset_form %} {# old formset style, should deprecate #}

Products

{{ formset.non_form_errors }} {{ formset.management_form }}
    {% for form in formset.forms %}
  1. {# Use different styling (without fieldset) for generic formset #} {% if formset_form == 'generic/formset_form.html' %} {{ form.errors }} {#
    {{ forloop.counter }}.
    #} {% include formset_form %} {% else %}
    {{ form.errors }} {#
    {{ forloop.counter }}
    #} {% include formset_form %}
    {% endif %}
  2. {% endfor %}
{% else %} {# this approach is more scalable #}
{% include 'generic/formset.html' %}
{% endif %} {% endif %} {% endblock %}
{% endblock %}