Skip to content

Public API

django_fastapi

create_fastapi_app(config=None)

Create a FastAPI app from Django settings or an explicit config.

csrf_exempt(func)

Mark a FastAPI path operation as exempt from Django CSRF checks.

django_response_to_fastapi(response)

Convert a Django response into a Starlette response.

get_authenticated_user(user)

Return the current Django user or raise 401 for anonymous callers.

get_current_staff_user(user)

Return the current staff user or raise 403.

get_current_user(request)

Return the current Django user or AnonymousUser.

get_django_fastapi_application(fastapi_app=None, *, prefix=None, name='fastapi')

Create Django's ASGI app and mount a FastAPI app beside it.

get_django_request(request) async

Build and cache a Django-compatible request for a FastAPI request.

get_fastapi_prefix(config=None)

Return the configured FastAPI ASGI mount prefix.

mount_django_fastapi_app(django_app, fastapi_app=None, *, prefix=None, name='fastapi')

Mount a FastAPI ASGI app before falling back to Django.

mount_fastapi_app(django_app, fastapi_app, *, path='/fastapi', name='fastapi')

Backward-compatible alias for manually mounting a FastAPI app.

require_csrf(request, django_request) async

Require Django CSRF validation for unsafe FastAPI requests by default.

session_auth_resolver(_request, django_request)

Resolve Django's normal session-authenticated user.

Authentication types

django_fastapi.auth.AuthResolver = Callable[[Request, HttpRequest], AuthResolverResult | Awaitable[AuthResolverResult]] module-attribute

django_fastapi.auth.AuthResolverResult = AuthUser | None module-attribute

django_fastapi.auth.AuthUser = AbstractBaseUser | AnonymousUser | SimpleLazyObject[Any] module-attribute