Material design for django forms and admin
Material design with goodies
  • Forms– Easy way to render custom django forms
    • Strong python/html code separation
    • Easy redefinition of particular field rendering
    • Dynamic formset out of the box
    • Complex form layout support
  • Frontend– Quick starter template
  • Admin– Material-designed django admin

django-material tested with Python 2.7/3.3, django 1.8
    $ pip install django-material 
And add desired apps into INSTALLED_APPS settings
NOTE: 'material.admin' must be added before 'django.contrib.admin'
Quick start

Include material javascript and styles along with jQuery into your base template.
    {% include 'material/includes/material_css.html' %}
    <script src="{% static 'material/js/jquery-2.2.0.js' %}"></script>
    {% include 'material/includes/material_js.html' %}
Load the `material_form` template tag library
     {% load material_form %} 
And render your form with {% form %} template tag
    <form method="POST">
        {% csrf_token %}
        {% form form=form %}{% endform %}
        <button type="submit" name="_submit" class="btn">Submit</button>

Read the full documentation at


Quick starter template for modular ERP-like applications developent
Quick start

Add frontend urls into global urlconf module at
from material.frontend import urls as frontend_urls

    urlpatterns = [
        url(r'^admin/', include(,
        url(r'', include(frontend_urls)),
To create a new module make a `` file, inside app directory, with following content .. code-block:: python
from material.frontend import Module

    class Sample(Module):
        icon = 'mdi-image-compare'
By default module expose a single view that renders html template from <module_name>/index.html file.

You can override `Module.get_urls()` method to provide module url config that would be automatically included into global urls.