Skip to main content

dj-layouts

CI PyPI version Python versions Django License: MIT

A Django layout composition library. Views return their own content as partials; a Layout class assembles the full page by calling other views as named panels, concurrently under ASGI.

Read the docs →

Quick start

pip install dj-layouts
# myapp/layouts.py
from dj_layouts import Layout, Panel

class DefaultLayout(Layout):
    template = "layouts/default.html"
    navigation = Panel("core:navigation")
    footer = Panel("<p>© Acme</p>")
# myapp/views.py
from dj_layouts import layout

@layout(DefaultLayout)
def homepage(request):
    return render(request, "home/index.html", {"items": get_items()})

HTMX Smart Routing (SPA)

With HTMX Smart Routing, you can turn your standard multi-page Django application into a smooth single-page application (SPA) with zero client-side routing logic.

Opt-in by enabling the setting in your settings.py:

DJ_LAYOUTS = {
    "PARTIAL_DETECTORS": ["dj_layouts.detection.htmx_detector"],
    "HTMX_SMART_ROUTING": True,
}

Add hx-boost="true" to your <body>. When a user navigates between views:

  • If the next view uses the same layout, dj-layouts returns only the partial view response and tells HTMX to retarget and swap just the #panel-content panel (extremely fast).
  • If the next view uses a different layout, dj-layouts dynamically assembles the new full layout, updates the layout tracker cookie, and tells HTMX to smoothly swap the entire <body>.

Supported versions

Python Django
3.13 5.2 (LTS)
3.14 6.0
latest

Documentation

Full documentation at fukalite.github.io/dj-layouts/.

Contributing

See CONTRIBUTING.md.

Security

See SECURITY.md.

Licence

MIT

Metadata

Release files for dj-layouts 0.0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dj-layouts 0.0.3
File Size Uploaded
dj_layouts-0.0.3.tar.gz 96.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for dj-layouts 0.0.3
File Interpreter ABI Platform
dj_layouts-0.0.3-py3-none-any.whl Python 3 none any Details

Total release size: 127.1 kB

Release files / dj_layouts-0.0.3.tar.gz

Download URL dj_layouts-0.0.3.tar.gz
Size 96.5 kB
Tags Source
SHA-256 checksum
How to use checksums
499ded9b1eebf891d93fefee3e45f8fa015b9fd3bc06875a9ae3b46cb316264a
BLAKE2b-256 checksum
How to use checksums
3b2b7105b8fc45e67017bb50998d9e088cf7e6383a97912752efa4bb086ed886
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.17 {"installer":{"name":"uv","version":"0.11.17","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 / dj_layouts-0.0.3-py3-none-any.whl

Download URL dj_layouts-0.0.3-py3-none-any.whl
Size 30.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7de7cda7fcbcc26336f7b37bdec3d9239cb6247ed194c4c9816559faa48a92dc
BLAKE2b-256 checksum
How to use checksums
b18be8f1729a93aee041b126e246178d5b15cc6a96f8ae5f068ff46d8a568ba6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.17 {"installer":{"name":"uv","version":"0.11.17","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 history Release notifications | RSS feed

This release

0.0.3 This release

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page