Bootstrap 4 templates for Django Rest Framework `render_form` tag

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

See instructions at our Python registry for installation with pip or in a requirements.txt file.

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/BaltoRepo/drf-form-bootstrap-4

License

© 2019 Matthew Fox

MIT

Usage

Install with pip:

Version
0.5.3.post1
Date
Package Links
Author
Matt Fox
License
MIT