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.18
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.18.tar.gz | 26.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| hedron_django-1.0.18-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 53.6 kB
Release files / hedron_django-1.0.18.tar.gz
| Download URL | hedron_django-1.0.18.tar.gz |
|---|---|
| Size | 26.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fd8eee39c5046261f0a4034543628cf56890e177b8254366aee2d8ec4540af16
|
|
BLAKE2b-256 checksum How to use checksums |
12929b7d732e17c4abe9bd830c93da95d659f73ea93e194fad23fbeb6981a172
|
| 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.18-py3-none-any.whl
| Download URL | hedron_django-1.0.18-py3-none-any.whl |
|---|---|
| Size | 27.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ac20e4779d1c6d35d86123b5b26cac4125f98d9ea2ee0c8e0482dd52602e6dab
|
|
BLAKE2b-256 checksum How to use checksums |
f761a85ce636706cf915f0d45507f81ffc6b20306eb779bf7c3ba2a632dfde9d
|
| 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}
|