Skip to main content

Django-pony-forms helps you to write better html for your Django forms

Project description

Build Status Version

Coverage Status Requirements Status


Django pony forms

Django-pony-forms helps you to write better html for your Django forms.

Read the documentation on readthedocs

1: Better form html by default

The form html that Django produces is not very nice or useful. For example, the default output of a Django form is a table.

Just mixin PonyFormMixin to produce better html:

class ExampleForm(PonyFormMixin, forms.Form):
    name = forms.CharField()

This produces the following html:

<div class="form-row row-name">
    <label for="id_name">Name</label>
    <input type="text" id="id_name" name="name" />

2: Write your own form templates

You can also write your own form templates:

class ExampleForm(PonyFormMixin, forms.Form):
    name = forms.CharField()

    form_template = 'my_form.html'
    row_template = 'my_row.html'


<div class="my_form">
    {{ hidden_fields }}
    {{ top_errors }}
    {{ rows }}


The package is tested with Django 1.11 - 2.2 and Python 2.7, 3.5-3.7.


Install the package:

$ pip install django_pony_forms

Add django_pony_forms to your installed apps in


Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for django-pony-forms, version 0.7.1
Filename, size & hash File type Python version Upload date
django_pony_forms-0.7.1-py3.6.egg (5.7 kB) View hashes Egg 3.6
django_pony_forms-0.7.1-py3-none-any.whl (6.5 kB) View hashes Wheel py3
django_pony_forms-0.7.1.tar.gz (5.1 kB) View hashes Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page