turbo_response.response#

Module Contents#

Classes#

HttpResponseSeeOther

Obsolete: Redirect with 303 status

TurboStreamResponseMixin

Automatically sets the correct turbo-stream content type.

TurboStreamStreamingResponse

Handles turbo-stream streaming responses. Generator should yield individual

TurboStreamResponse

Basic turbo-stream response.

TurboStreamTemplateResponse

Handles turbo-stream template response.

TurboFrameResponse

Handles turbo-frame template response.

TurboFrameTemplateResponse

Handles turbo-stream template response.

class turbo_response.response.HttpResponseSeeOther#

Bases: django.http.HttpResponseRedirect

Obsolete: Redirect with 303 status

status_code#
class turbo_response.response.TurboStreamResponseMixin(*args, **kwargs)#

Automatically sets the correct turbo-stream content type.

class turbo_response.response.TurboStreamStreamingResponse(*args, **kwargs)#

Bases: TurboStreamResponseMixin, django.http.StreamingHttpResponse

Handles turbo-stream streaming responses. Generator should yield individual turbo-stream tags.

For example:

def render():

    for i in range(3):

        yield render_turbo_stream(
            "OK",
            Action.REPLACE,
            target=f"item-{i}"
        )

return TurboStreamStreamingResponse(render())
class turbo_response.response.TurboStreamResponse(content='', *, action=None, target=None, is_safe=False, is_multiple=False, **response_kwargs)#

Bases: TurboStreamResponseMixin, django.http.HttpResponse

Basic turbo-stream response.

If action and target are provided, will automatically wrap the response in <turbo-stream> tags. Otherwise you should provide the turbo-stream content string yourself (using e.g. render_turbo_stream) or an iterable of turbo-streams.

Parameters:
  • content (Union[Iterable[str], str]) –

  • action (Optional[turbo_response.constants.Action]) –

  • target (Optional[str]) –

  • is_safe (bool) –

  • is_multiple (bool) –

class turbo_response.response.TurboStreamTemplateResponse(request, template, context=None, *, action, target, is_multiple=False, **kwargs)#

Bases: TurboStreamResponseMixin, django.template.response.TemplateResponse

Handles turbo-stream template response.

Adds the following variables to the template:

  • is_turbo_stream

  • turbo_stream_action

  • turbo_stream_target

Parameters:
  • request (django.http.HttpRequest) –

  • template (Union[str, Iterable[str]]) –

  • context (Optional[Dict[str, Any]]) –

  • action (turbo_response.constants.Action) –

  • target (str) –

  • is_multiple (bool) –

property rendered_content: str#
Return type:

str

is_turbo_stream = True#
class turbo_response.response.TurboFrameResponse(content='', *, dom_id, is_safe=False, **response_kwargs)#

Bases: django.http.HttpResponse

Handles turbo-frame template response.

Parameters:
  • content (str) –

  • dom_id (str) –

  • is_safe (bool) –

class turbo_response.response.TurboFrameTemplateResponse(request, template, context=None, *, dom_id, **kwargs)#

Bases: django.template.response.TemplateResponse

Handles turbo-stream template response.

Adds the following variables to the template:

  • is_turbo_frame

  • turbo_frame_dom_id

Parameters:
  • request (django.http.HttpRequest) –

  • template (Union[str, Iterable[str]]) –

  • context (Optional[Mapping[str, Any]]) –

property rendered_content: str#
Return type:

str

is_turbo_frame = True#