django CMS Bootstrap 4 is a plugin bundle for django CMS providing several components from the popular Bootstrap 4 library.
Contribute to this project and win rewards
Because this is a an open-source project, we welcome everyone to get involved in the project and receive a reward for their contribution. Become part of a fantastic community and help us make django CMS the best CMS in the world.
We’ll be delighted to receive your feedback in the form of issues and pull requests. Before submitting your pull request, please review our contribution guidelines.
The project makes use of git pre-commit hooks to maintain code quality. Please follow the installation steps to get pre-commit setup in your development environment.
We’re grateful to all contributors who have helped create and maintain this package. Contributors are listed at the contributors section.
Documentation
See REQUIREMENTS in the setup.py file for additional dependencies:
Django Filer 1.7 or higher
Django Text CKEditor 3.1 or higher
Make sure django Filer and django CMS Text CKEditor are installed and configured appropriately.
Installation
For a manual install:
run pip install djangocms-bootstrap4
add the following entries to your INSTALLED_APPS:
'djangocms_icon', 'djangocms_link', 'djangocms_picture', 'djangocms_bootstrap4', 'djangocms_bootstrap4.contrib.bootstrap4_alerts', 'djangocms_bootstrap4.contrib.bootstrap4_badge', 'djangocms_bootstrap4.contrib.bootstrap4_card', 'djangocms_bootstrap4.contrib.bootstrap4_carousel', 'djangocms_bootstrap4.contrib.bootstrap4_collapse', 'djangocms_bootstrap4.contrib.bootstrap4_content', 'djangocms_bootstrap4.contrib.bootstrap4_grid', 'djangocms_bootstrap4.contrib.bootstrap4_jumbotron', 'djangocms_bootstrap4.contrib.bootstrap4_link', 'djangocms_bootstrap4.contrib.bootstrap4_listgroup', 'djangocms_bootstrap4.contrib.bootstrap4_media', 'djangocms_bootstrap4.contrib.bootstrap4_picture', 'djangocms_bootstrap4.contrib.bootstrap4_tabs', 'djangocms_bootstrap4.contrib.bootstrap4_utilities',
run python manage.py migrate
The Code plugin uses the ace code editor which is loaded from a CDN by default. If you want the ace code editor to be served from static files, please use djangocms-bootstrap4[static-ace] instead of djangocms-bootstrap4 in your requirements or with pip. Make the static files fore the ace code editor available to your project by adding djangocms_static_ace to your project’s INSTALLED_APPS.
Configuration
django CMS Bootstrap 4 utilises the following django CMS plugins:
It provides the following standard Bootstrap 4 components:
django CMS Bootstrap 4 does not add the styles or javascript files to your frontend, these need to be added at your discretion.
Settings
There are various settings possible on django CMS Bootstrap 4, to restrict them for now only the following can be changed:
DJANGOCMS_BOOTSTRAP4_TAG_CHOICES = ['div', 'section', 'article', 'header', 'footer', 'aside']
DJANGOCMS_BOOTSTRAP4_CAROUSEL_TEMPLATES = (
('default', _('Default')),
)
DJANGOCMS_BOOTSTRAP4_GRID_SIZE = 12
DJANGOCMS_BOOTSTRAP4_GRID_CONTAINERS = (
(_('Default'), (
('container', _('Container')),
('container-fluid', _('Fluid container')),
)),
(_('Custom'), (
('container-yours', _('Your container')),
)),
)
DJANGOCMS_BOOTSTRAP4_GRID_COLUMN_CHOICES = (
('col', _('Column')),
('w-100', _('Break')),
('', _('Empty'))
)
DJANGOCMS_BOOTSTRAP4_USE_ICONS = True
DJANGOCMS_BOOTSTRAP4_TAB_TEMPLATES = (
('default', _('Default')),
)
DJANGOCMS_BOOTSTRAP4_SPACER_SIZES = (
('0', '* 0'),
('1', '* .25'),
('2', '* .5'),
('3', '* 1'),
('4', '* 1.5'),
('5', '* 3'),
)
DJANGOCMS_BOOTSTRAP4_CAROUSEL_ASPECT_RATIOS = (
(16, 9),
)
DJANGOCMS_BOOTSTRAP4_COLOR_STYLE_CHOICES = (
('primary', _('Primary')),
('secondary', _('Secondary')),
('success', _('Success')),
('danger', _('Danger')),
('warning', _('Warning')),
('info', _('Info')),
('light', _('Light')),
('dark', _('Dark')),
('custom', _('Custom')),
)
Please be aware that this package does not support djangocms-text-ckeditor’s Drag & Drop Images so be sure to set TEXT_SAVE_IMAGE_FUNCTION = None.
Running Tests
You can run tests by executing:
virtualenv env source env/bin/activate pip install -r tests/requirements/djNN_cmsNN.txt # where NN is an available appropriate version python setup.py test
To run the frontend make sure to use node 10.x.
Release files for djangocms-bootstrap4 3.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| djangocms_bootstrap4-3.1.1.tar.gz | 118.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| djangocms_bootstrap4-3.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 300.9 kB
Release files / djangocms_bootstrap4-3.1.1.tar.gz
| Download URL | djangocms_bootstrap4-3.1.1.tar.gz |
|---|---|
| Size | 118.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
000ef30ff8bff4d6007237bcfaff3a1f71fb286ffd725f19b0e056332468819c
|
|
BLAKE2b-256 checksum How to use checksums |
d666a68dbf65d0e5ce77982c3c339816d31efca95380e101d42b72fca8dc0c78
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 23, 2026.
Transparency logRelease files / djangocms_bootstrap4-3.1.1-py3-none-any.whl
| Download URL | djangocms_bootstrap4-3.1.1-py3-none-any.whl |
|---|---|
| Size | 182.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4d4d5a8e1ae533442092cbfba6a68c7ccf46a3145173eb3b808e01a0dc051905
|
|
BLAKE2b-256 checksum How to use checksums |
523da26bc36ab94f703f5b9705d6de79bed4726b4c54225d86af7bb11b6c89f5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 23, 2026.
Transparency log