Skip to content

Docs: multi-step wizard recipe + example for the Django adapter #31

Description

@fsecada01

Summary

Port the multi-step wizard recipe (#29, #30) to the Django adapter:
examples/django_example/ wizard component + view/urls + a Django
subsection in docs/examples/wizard.md.

Why this is more than a mechanical port

Unlike FastAPI/Litestar, the Django adapter already has real infrastructure
that a wizard recipe should actually demonstrate rather than bypass:

  • CSRF is already handled (django_views.py) — the recipe should show
    the wizard's POST going through Django's normal CSRF protection, in
    contrast to Docs: multi-step wizard recipe + example for the FastAPI adapter #29's explicit "FastAPI has no CSRF yet" caveat.
  • CBV vs FBV — decide whether the reference implementation uses a
    ComponentView CBV or an FBV + permission decorator, and say why.
    Session-backed state is also on the table for Django specifically (Django
    has a first-class session store; FastAPI/Litestar examples deliberately
    don't use one) — worth showing as an alternative to the unsigned
    client-round-trip state model, if it meaningfully closes the state-security
    gap ahead of Epic A1 (Epic A: State Security & Integrity #21).
  • Update docs/DJANGO_IMPLEMENTATION.md if the wizard pattern introduces
    anything not already covered there.

Deliverable

  • Wizard component + view/urls under examples/django_example/.
  • Django subsection in docs/examples/wizard.md (or a standalone doc if the
    CSRF/session differences make a shared doc awkward — reviewer's call).

Sequencing

After #30 (Litestar). Do this before or alongside Flask (#32) — whichever
has a clearer owner/timeline.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions