---
# GENERATED FILE — do not edit.
# Source: `manage.py docs_generate` (djust 1.2.0).
# Edit the generator in docs_app/generator.py instead.
title: "Push-event methods"
description: "Push-event methods on the LiveView base class, generated."
level: reference
order: 80
section: reference
generated: true
---
Push-event methods on `LiveView`, generated from the framework manifest.

**1 entries.**

## `push_event`

```text
self.push_event(event: str, payload: Dict[str, Any] = None) -> None
```

| Parameter | Default and behavior |
| --- | --- |
| `event` | **Required.** `str`. Event name (e.g. "chart_update", "djust:scroll_to") |
| `payload` | Default: `None`. `Dict[str, Any]`. Dict of data to send with the event |

Push a custom event to the client. Client receives via dj-hook handleEvent() or window event listener.

## Send an update to a browser hook

Call `push_event()` from your event handler. Events are queued and delivered
after the handler response. The payload should contain JSON-serializable data.

```python
from djust.decorators import event_handler

@event_handler()
def announce(self, **kwargs):
    self.push_event("status_changed", {"message": "Ready"})
```

Register a hook in your client script:

```javascript
window.djust.hooks.StatusMessage = {
    mounted() {
        this.handleEvent("status_changed", (payload) => {
            this.el.textContent = payload.message;
        });
    }
};
```

Attach it to the element that displays the message:

```html
<p dj-hook="StatusMessage" role="status"></p>
```

Use ordinary view state for template updates. Use a pushed event when a hook
needs to control a browser API or a third-party widget. The [hooks guide](/guides/hooks/)
explains client-to-server events, hook lifecycle, and cleanup.
