class PersonForm(Form):
    name = forms.CharField()
    email = forms.EmailField()
    age = forms.IntegerField()

# And here's how you would output its fields using a custom template:

{% for field in form %}
<div>
  {{ field.errors }}
  {{ field.label_tag }}: {{ field }}
</div>
{% endfor %}

# By default, {{ field.errors }} outputs a <ul class="errorlist"> containing
# the validation errors, or a blank string if there are none. If you want to 
# further customise the way in which errors are displayed, you can do this:

{% for field in form %}
<div>
  {% if field.errors %}
    {% for error in field.errors %}
      <p style="color: red">Oh no! {{ error }}</p>
    {% endfor %}
  {% endif %}
  {{ field.label_tag }}: {{ field.as_html }}
</div>
{% endfor %}