Skip to main content

Django widgets styled with Material Components for the Web.

Project description

Easily convert your Django Forms and ModelForms to use widgets styled with Material Components for the Web.

status docs pypi pyversion license

Click to view demo

Quick Start

  1. Install Django Material Widgets:

    pip install django-material-widgets
    
  2. Add material_widgets to INSTALLED_APPS in your settings.py:

    INSTALLED_APPS = [
        ...
        'material_widgets',
    ]
    
  3. Edit your forms.py:

    • Import material_widgets.widgets.MaterialForm and/or material_widgets.widgets.MaterialModelForm:

      from material_widgets import MaterialForm, MaterialModelForm
      
    • Change forms using django.forms.Form and/or django.forms.ModelForm to MaterialForm or MaterialModelForm respectively:

      class MyForm(forms.Form): ⇨ class MyForm(MaterialForm):
      
      class MyModelForm(forms.ModelForm): ⇨ class MyModelForm(MaterialModelForm):
      
  4. Edit your HTML templates:

    • Change {{ form }} template variables to {{ form.as_components }}:

      {{ form.as_p }} ⇨ {{ form.as_components }}
      
    • Add {{ form.media.css }} to your <head> tag:

      <head>
          {{ form.media.css }}
      </head>
      
    • Add the mdc-typography CSS class to your <body> tag:

      <body class="mdc-typography">
      
    • Add {{ form.media.js }} to the bottom of your <body> tag:

      <body class="mdc-typography">
          ...
      
          {{ form.media.js }}
      </body>
      
    • (Optional) Add stylesheet links:

      <head>
          <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500">
          <link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
      </head>
      

Demo

https://ooknosi.github.com/django_material_widgets

To view the demo locally at http://localhost:8000:

git clone https://github.com/ooknosi/django_material_widgets.git
cd django_material_widgets/src
python manage.py migrate --settings=demo.settings
python manage.py runserver --settings=demo.settings

Project details


Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
django-material-widgets-1.0.0b3.tar.gz (452.8 kB) Copy SHA256 hash SHA256 Source None Nov 22, 2017

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