turbo

Package Contents

Classes

ModelBroadcast

Turbo

A reference to a specific broadcast.

Functions

get_channel_name(identifier)

register(*models, site=None)

Register the given model(s) classes with the ModelBroadcast.

autodiscover()

Look for ModelBroadcast classes in broadcasts.py

broadcast_stream(stream_target, action, template, context, dom_target=None, css_selector=None, send_type='notify', extra_payload=None)

Send a Broadcast to all Websocket Clients registered to a specific stream!

Attributes

APPEND

PREPEND

REPLACE

UPDATE

REMOVE

BEFORE

AFTER

default_app_config

turbo.get_channel_name(identifier)
turbo.register(*models, site=None)

Register the given model(s) classes with the ModelBroadcast. This attaches the on_save and on_delete methods to the provided model signals.

@turbo.register(Room)
class RoomBroadcast(turbo.ModelBroadcast):

    def on_save(self, room, created, *args, **kwargs):
            pass

    def on_delete(self, room, *args, **kwargs):
            pass
class turbo.ModelBroadcast(model)
class turbo.Turbo

A reference to a specific broadcast. Broadcast names can be provided as strings or can be generated by passing in a django instance.

Eg:

Turbo(‘broadcast_name’) Turbo(django_instance)

_init_with_str(self, stream_name='')
Parameters

stream_name (str) –

_init_with_model(self, stream_target)
Parameters

stream_target (django.db.models.Model) –

update_stream_name(self)
render(self, template_name, context=None)

Returns a TurboRender object from a django template. This rendered template can then be broadcast to subscribers with the TurboRender actions (eg: append, update, etc…)

Takes a template name and context identical to Django’s render() method.

Return type

TurboRender

render_from_string(self, rendered_template)

Returns a TurboRender object from a string.

Parameters

rendered_template (str) –

Return type

TurboRender

remove(self, selector=None, id=None)

Send a broadcast to remove an element from a turbo frame.

turbo.APPEND = append
turbo.PREPEND = prepend
turbo.REPLACE = replace
turbo.UPDATE = update
turbo.REMOVE = remove
turbo.BEFORE = before
turbo.AFTER = after
turbo.default_app_config = turbo.apps.TurboDjangoConfig
turbo.autodiscover()

Look for ModelBroadcast classes in broadcasts.py

turbo.broadcast_stream(stream_target, action, template, context, dom_target=None, css_selector=None, send_type='notify', extra_payload=None)

Send a Broadcast to all Websocket Clients registered to a specific stream! Here for manual control of streams and backwards-compatibility.