DjDS is a Django-native approach to writing front end components that are exposed as templatetags. It comes with an auto-generated, customisable, live interactive gallery of your UI components that lives alongside your Django project.
Components are recognisably Django elements; they look and work like Models or Forms. The gallery auto-discovers them, renders live previews in sandboxed iframes, generates templatetag usage examples, and builds a searchable navigation tree — all from your existing code and docstrings.
pip install dj-design-systemThen follow the quickstart guide to register your first component.
| Python | Django |
|---|---|
| 3.13 | 5.2 (LTS) |
| 3.14 | 6.0 |
| latest |
Full documentation is available at django-design-system.github.io/django_design_system/.
To browse locally:
just docs-serve| Document | Contents |
|---|---|
| Quick start | Installation and first component |
| Components | Defining components and parameters |
| Registry | Auto-discovery and the component registry |
| Gallery | Configuring and customising the gallery |
| Template tags | Using components in templates |
| API reference | Auto-generated class and parameter docs |
A static snapshot of the component gallery is browseable at django-design-system.github.io/django_design_system/demo/ (HTMX interactions disabled; run just demo for the full live experience).
See CONTRIBUTING.md for how to set up a dev environment, run tests, and submit a pull request.
This project follows the Contributor Covenant. Please read CODE_OF_CONDUCT.md before contributing.
Please open an issue on GitHub. Use the bug report template for defects and the feature request template for new ideas.
To report a vulnerability privately, see SECURITY.md.
With thanks to the UK Department for Business and Trade, where this was originally developed.