Skip to content

Bootstrap static content wrapped in a pip installable django package

License

MIT, Unknown licenses found

Licenses found

MIT
LICENSE
Unknown
LICENSE-fontawesome-free
Notifications You must be signed in to change notification settings

bittner/django-bootstrap-static

Repository files navigation

Django Bootstrap Static Files Latest version on PyPI

Bootstrap 5.3.3 jQuery 3.7.1 Font Awesome 6.5.2 Build status

Bootstrap and optional Font Awesome static files ready for the picking.

Also ships the latest jQuery compatible with Bootstrap, for optional inclusion.

Install

pip install django-bootstrap-static

Configuration

To pickup Bootstrap static files, simply include 'bootstrap', and optionally 'fontawesome', in your INSTALLED_APPS:

INSTALLED_APPS = [
    # ...
    'bootstrap',
    'fontawesome',
]

Then you can include CSS and JavaScript as usual static resources, e.g. using {% static '...' %} in your base template as follows:

{% load static %}
<head>
    <link rel="stylesheet" href="{% static 'bootstrap/css/bootstrap.min.css' %}">
    <script defer src="{% static 'fontawesome/js/all.min.js' %}"></script>
</head>
<body>
    ...
    <script src="{% static 'bootstrap/js/jquery.min.js' %}"></script>
    <script src="{% static 'bootstrap/js/bootstrap.bundle.min.js' %}"></script>
</body>

Note that in the above code sample we use SVG powered Font Awesome, as recommended by their docs. You can use Font Awesome the classic way by replacing the <script ...> tag in the <head> section above by:

<link rel="stylesheet" href="{% static 'fontawesome/css/all.min.css' %}">

If you don't use Bootstrap features that require Popper.js (e.g. dropdowns, popovers, tooltips) you can include bootstrap.min.js instead of the bundle to save a few kilobytes of bandwidth.

More details on integration may be available from each of the two projects:

Contribution

Occasionally, I forget to update this package with new bootstrap updates. Please feel free to submit a PR.

Sources and Procedures

Bootstrap: (all files from dist package)
Bootstrap website / Download ➜ drop into bootstrap/static/bootstrap/
jQuery: (compressed, uncompressed, map)

jQuery website / Download ➜ rename and mix into bootstrap/static/bootstrap/js/

Pick the latest version denoted as a dependency in bower.json (see Dependencies).

Font Awesome: (content of the on-server/ folder only)
Font Awesome website / Download Free ➜ drop into fontawesome/static/fontawesome/

Tests

Tests are great! And necessary. Please, add more. More is better! We use Tox.

pip install tox

Run all the linting and tests locally using Tox like this:

tox
tox list
tox -e package
tox -e py310,clean
tox -e format -- tests

Releases

To stay aligned with the Bootstrap release schedule we will keep version numbers of this app in sync with the bootstrap Major.Minor.Revision changes (semver). The additional version number will be added at the end to denote a new change within this package itself, e.g.

django-bootstrap-static==3.3.1.1 == Bootstrap 3.3.1 with an additional package change.