turbo_response
#
Subpackages#
Submodules#
turbo_response.apps
turbo_response.cable_channel
turbo_response.channel_helper
turbo_response.constants
turbo_response.decorators
turbo_response.frame
turbo_response.middleware
turbo_response.mixins
turbo_response.renderers
turbo_response.response
turbo_response.shortcuts
turbo_response.stream
turbo_response.template
turbo_response.views
Package Contents#
Classes#
Turbo-Stream action parameter |
|
Class for creating Turbo Frame strings and responses. |
|
Obsolete: Redirect with 303 status |
|
Handles turbo-frame template response. |
|
Handles turbo-stream template response. |
|
Basic turbo-stream response. |
|
Handles turbo-stream streaming responses. Generator should yield individual |
|
Handles turbo-stream template response. |
|
Class for creating Turbo Stream strings and responses. |
Functions#
|
Wraps a response in correct <turbo-frame> tags. |
|
Wraps content in correct <turbo-stream> tags. |
|
Obsolete: Sends an HTTP 303 redirect. |
|
Returns a TemplateResponse with the correct status if the form contains errors. |
|
Renders a <turbo-frame> template. |
|
Renders a <turbo-stream> template. |
|
- class turbo_response.Action#
Bases:
enum.Enum
Turbo-Stream action parameter
- AFTER = 'after'#
- APPEND = 'append'#
- BEFORE = 'before'#
- PREPEND = 'prepend'#
- REMOVE = 'remove'#
- REPLACE = 'replace'#
- UPDATE = 'update'#
- class turbo_response.TurboFrame(dom_id)#
Class for creating Turbo Frame strings and responses.
- Parameters:
dom_id (str) –
- render(content='', **kwargs)#
- Parameters:
content (str) – enclosed content
- Returns:
a <turbo-frame> string
- Return type:
str
- response(content='', **kwargs)#
- Parameters:
content (str) – enclosed content
is_safe – mark content safe for HTML escaping.
- Returns:
a <turbo-frame> HTTP response
- Return type:
- template(template_name, context=Optional[Dict[str, Any]], **template_kwargs)#
- Parameters:
template_name (Union[str, List[str]]) – Django template name(s)
context – template context
- Returns:
a <turbo-frame> HTTP response
- Return type:
- turbo_response.render_turbo_frame(dom_id, content='', is_safe=False)#
Wraps a response in correct <turbo-frame> tags.
- Parameters:
dom_id (str) – a DOM ID present in the content
content (str) – content of the turbo-frame
is_safe (bool) – mark content safe for HTML escaping.
- Returns:
<turbo-frame> string
- Return type:
str
- turbo_response.render_turbo_stream(action, target=None, content='', is_safe=False, is_multiple=False)#
Wraps content in correct <turbo-stream> tags.
- Parameters:
action (turbo_response.constants.Action) – action type
target (Optional[str]) – the DOM ID target of the stream or CSS selector for multiple targetss
content (str) – content to be wrapped. Can be empty.
is_safe (bool) – mark content safe for HTML escaping.
is_multiple (bool) – multiple targets
- Returns:
<turbo-stream> string
- Return type:
str
- class turbo_response.HttpResponseSeeOther#
Bases:
django.http.HttpResponseRedirect
Obsolete: Redirect with 303 status
- status_code#
- class turbo_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.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#
- class turbo_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.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.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#
- turbo_response.redirect_303(to, *args, **kwargs)#
Obsolete: Sends an HTTP 303 redirect.
- Parameters:
to (Union[str, django.db.models.Model]) – URL or view name or model instance. If model then calls get_absolute_url().
- Return type:
- turbo_response.render_form_response(request, form, template, context=None, *, turbo_stream_template=None, turbo_stream_target=None, turbo_stream_action=Action.REPLACE, **response_kwargs)#
Returns a TemplateResponse with the correct status if the form contains errors.
If turbo_stream_template is provided along with turbo_stream_target, a TurboStream response will be returned instead if there are form validation errors.
- Parameters:
request (django.http.HttpRequest) –
form (django.forms.Form) –
template (Union[str, List[str]]) –
context (Optional[Dict]) –
turbo_stream_template (Optional[Union[str, List[str]]]) –
turbo_stream_target (Optional[str]) –
turbo_stream_action (turbo_response.constants.Action) –
- Return type:
django.template.response.TemplateResponse
- class turbo_response.TurboStream(target, is_multiple=False)#
Class for creating Turbo Stream strings and responses.
- Parameters:
target (str) –
is_multiple (bool) –
- property after: TurboStreamAction#
- Return type:
- property append: TurboStreamAction#
- Return type:
- property before: TurboStreamAction#
- Return type:
- property prepend: TurboStreamAction#
- Return type:
- property remove: TurboStreamAction#
- Return type:
- property replace: TurboStreamAction#
- Return type:
- property update: TurboStreamAction#
- Return type:
- action(action)#
- Parameters:
action (turbo_response.constants.Action) –
- Return type:
- turbo_response.render_turbo_frame_template(template, context=None, *, dom_id, **kwargs)#
Renders a <turbo-frame> template.
- Parameters:
template (Union[str, List[str]]) – template name or names
context (Optional[Dict[str, Any]]) – template context
dom_id (str) – turbo-frame DOM ID
- Return type:
str
- turbo_response.render_turbo_stream_template(template, context=None, *, action, target, is_multiple=False, **template_kwargs)#
Renders a <turbo-stream> template.
- Parameters:
template (Union[str, List[str]]) – template name or names
context (Optional[Dict[str, Any]]) – template context
action (turbo_response.constants.Action) – turbo-stream action
target (str) – turbo-stream target
is_multiple (bool) –
- Return type:
str
- turbo_response.dom_id(instance, prefix='')#
- Parameters:
instance (Any) –
prefix (Optional[str]) –
- Return type:
str