Skip to main content

Bootstrap 4 templates for Django Rest Framework `render_form` tag

Project description

This package is no longer distributed on PyPI.

You can now review and download packages at our own Python registry- https://balto.baltorepo.com/open-source/python/packages/drf-form-bootstrap-4/

drf-form-bootstrap-4

Build Status

Bootstrap 4 templates for Django REST Framework render_form tag.

Requirements

Tested with Django 2.2, DRF 3.9, Python 3.6 & 3.5. Almost certainly works in earlier versions.

Installation

From PyPI:

pip install drf-form-bootstrap-4

Add drfformbootstrap4 to your INSTALLED_APPS setting.

INSTALLED_APPS = (
    ...
    'drfformbootstrap4',
)

Usage

Like the template packs in Django REST Framework, this supports three layouts:

Vertical

<form method="POST" novalidate>
  {% csrf_token %}
  {% render_form serializer template_pack='drfformbootstrap4/vertical' %}
  <div class="row">
    <div class="col text-right">
      <input class="btn btn-primary" type="submit" value="Submit">
    </div>
  </div>
</form>

Horizontal

<form method="POST" novalidate>
  {% csrf_token %}
  {% render_form serializer template_pack='drfformbootstrap4/horizontal' %}
  <div class="row">
    <div class="col text-right">
      <input class="btn btn-primary" type="submit" value="Submit">
    </div>
  </div>
</form>

Inline

Note that inline is less well-tested than the others, and at the moment the error states don't render properly. If this is a problem for you, add a comment to this issue.

<form method="POST" novalidate class="form-inline">
  {% csrf_token %}
  {% render_form serializer template_pack='drfformbootstrap4/inline' %}
  <div class="row">
    <div class="col text-right">
      <input class="btn btn-primary" type="submit" value="Submit">
    </div>
  </div>
</form>

Additional Options

Use the style field on your serializer to change the appearance of a field.

To display a field as text instead of as a field:

style={'class': 'form-control-plaintext'}

For inline checkboxes and radio buttons:

style={'inline': True}

Prepend/append text for inputs:

style={
    'prepend': 'text to prepend',
    'append': 'text to append',
}

Development

Pretty standard: fork this repo, make changes, make a GitHub pull request.

There are demo pages showing a variety of form fields and layouts. To use it, first install its dependencies:

pip install -r requirements.txt

Then run the server:

make runserver

When using this runserver, you don't need to install drfformbootstrap4 into your virtualenv before seeing changes. However if you want to see your changes reflected in a different application using the same virtualenv, install it with:

make install

Builds are here: https://travis-ci.org/mattfox/drf-form-bootstrap-4

License

© 2019 Matthew Fox

MIT

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 drf-form-bootstrap-4, version 0.5.2
Filename, size File type Python version Upload date Hashes
Filename, size drf-form-bootstrap-4-0.5.2.tar.gz (10.6 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page