Bootstrap and optional Font Awesome static files ready for the picking.
Also ships the latest jQuery compatible with Bootstrap, for optional inclusion.
pip install django-bootstrap-static
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:
- https://getbootstrap.com/docs/5.3/getting-started/introduction/
- https://fontawesome.com/get-started (Upgrading from Version 4 of Font Awesome)
Occasionally, I forget to update this package with new bootstrap updates. Please feel free to submit a PR.
- 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 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
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.