Files
andros cd0beff9f6 Add djust implementation and fix Reactor async ORM
Integrates djust (Rust-powered Phoenix LiveView-style framework) at /djust/
as the sixth implementation: live component, template, URL, WebSocket route,
INSTALLED_APPS entry, navbar links across every base template.

Reactor: wrap sync ORM calls with sync_to_async / async APIs so the
create_random_alert and delete_alert handlers stop raising
SynchronousOnlyOperation under Django 5.1. The detail modal now
pre-loads the selected alert in show_detail() instead of calling a sync
ORM method from the template.

Also adds the /_bench/clear/ endpoint used by the new benchmark harness.
2026-04-14 09:38:51 +02:00

58 lines
1.6 KiB
HTML

{% load reactor %}
<!DOCTYPE html>
<html lang="en" data-theme="light">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>{% block title %}Alert System - Django Reactor{% endblock %}</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bulma@1.0.2/css/bulma.min.css">
{% reactor_header %}
</head>
<body class="has-background-white">
{% csrf_token %}
<nav class="navbar is-light" role="navigation" aria-label="main navigation">
<div class="navbar-brand">
<div class="navbar-item">
<strong>Alert System Demo</strong>
</div>
</div>
<div class="navbar-menu">
<div class="navbar-start">
<a href="/" class="navbar-item">
Django LiveView
</a>
<a href="/ssr/" class="navbar-item">
SSR
</a>
<a href="/htmx/" class="navbar-item">
HTMX
</a>
<a href="/unicorn/" class="navbar-item">
Django Unicorn
</a>
<a href="/reactor/" class="navbar-item is-active has-background-primary has-text-white">
Django Reactor
</a>
<a href="/djust/" class="navbar-item">
djust
</a>
</div>
</div>
</nav>
<div id="notifications" class="notifications-container" style="position: fixed; top: 20px; right: 20px; z-index: 1000; width: 300px;"></div>
{% block content %}{% endblock %}
<footer class="footer mt-6">
<div class="content has-text-centered">
<p>
Built with <strong>Django Reactor</strong> - Phoenix LiveView for Django
| <a href="/" rel="noopener noreferrer">Django LiveView version</a>
</p>
</div>
</footer>
</body>
</html>