How-tos
Helpful hints and common patterns.
Minimal nanodjango site
Nanodjango is a perfect way to build a minimal static site generator.
Create a mysite.py:
# /// script
# dependencies = ["nanodjango", "django-nanopages", "django-browser-reload"]
# ///
from nanodjango import Django
app = Django()
pages = app.pages("/", "pages/")
if __name__ == "__main__":
app.run()
Run it using uv (or pipx or similar) - this will listen on port 8000:
uv run mysite.py 0:8000
Build it to a static site using the django-distill integration:
pip install nanodjango django-nanopages
nanodjango manage mysite.py distill-local static_site/