hedron-django
Django adapter for Hedron component rendering and HTMX interactions.
Render components as HttpResponse, map portable InteractionResult values,
reverse URLs via Django’s resolver, and integrate CSRF/session through native
middleware. Shares the hedron-core
renderer with FastAPI and Flask. Does not install FastAPI.
Also ships a first-party bounded QuerySet DataSource and Django forms bridge —
supply an already-authorized base QuerySet; omitted sort/filter allowlists deny
client refinements.
Package maturity: Beta · Package line: 1.0.x · pin >=1.0.0,<2.0
Adapter capability readiness is Supported when pinned — see What’s ready.
Install
pip install "hedron-django>=1.0.0,<2.0"
# or
uv add "hedron-django>=1.0.0,<2.0"
Requires Python 3.10–3.14, hedron-core, and Django >=5.2,<6.
Install the AppConfig for system checks:
INSTALLED_APPS = [
# ...
"hedron_django.apps.HedronDjangoConfig",
]
Scaffold a new Django project:
uvx --from "hedron>=1.0.0" hedron new --django my-django-app
Quick start
from django.http import HttpRequest
from hedron_core import Heading, Page, Text
from hedron_django import HedronDjango, hedron_view
hedron = HedronDjango()
@hedron_view
def home(request: HttpRequest):
return hedron.respond(
Page(
Heading("Hello Django", level=1),
Text("Native Django URLconf with Hedron components."),
title="Home",
),
request,
)
Wire the view into your URLconf as usual. For HTMX fragments, declare
fragment_regions on @hedron_view and return an InteractionResult.
What this package includes
HedronDjango/respondrendering facade@hedron_viewdecorator with fragment-region policyHedronDjangoConfigsystem checksHedronSecurityHeadersMiddlewarefor portableSecurityPolicyheaders- Forms bridge and bounded QuerySet
DataSource - Job status polling helpers
Links
- Add to an existing Django project
- Adapters API
- Changelog
- Source
- Issues
- Django reference example
hedron-core·hedron·hedron-flask
License
MIT. See the repository license.
Release files for hedron-django 1.0.14
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| hedron_django-1.0.14.tar.gz | 26.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| hedron_django-1.0.14-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 53.3 kB
Release files / hedron_django-1.0.14.tar.gz
| Download URL | hedron_django-1.0.14.tar.gz |
|---|---|
| Size | 26.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c717d10186b5e9ba25dd39d839c619deed03ba4f79fcb733522fbb4e349421dc
|
|
BLAKE2b-256 checksum How to use checksums |
25f963c5235ae18645579e64eb3156c1a023e03a318829e1cdd36fd9c63521f8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / hedron_django-1.0.14-py3-none-any.whl
| Download URL | hedron_django-1.0.14-py3-none-any.whl |
|---|---|
| Size | 27.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3d2073666a9f0261f5f497c3207836bde00cae7859f1772fb3fc53b17b1f579c
|
|
BLAKE2b-256 checksum How to use checksums |
e76dea1952c653090f8fcbc81df570587bff48bfffce4b571eea604305b6f4f1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|