Client-Side Behavior.
Server-Side Code.
Build reactive, real-time applications with Django and Python. No JavaScript required. Powered by a high-performance Rust VDOM engine.
State Management Primitives
Complex client-side behavior, declared in Python. djust provides a suite of decorators that handle the hard parts of frontend development for you.
Delay server requests until the user stops typing. Perfect for search inputs.
def search(self, query):
self.results = ...
Update the UI instantly, validate on the server later. Zero latency feel.
def like(self):
self.liked = True
Cache responses client-side. Instant results for repeated queries.
def get_cities(self):
return Cities.all()
Sync multiple components instantly without a server roundtrip.
def switch_tab(self, tab):
self.tab = tab
Copy. Paste. Own.
Stop fighting with npm packages. djust uses a component-as-code philosophy. Copy our components into your project and customize them to your heart's content.
-
Framework Agnostic Switch between Bootstrap 5 and Tailwind CSS with a single config setting.
-
Two-Tier Architecture Use lightweight
Componentfor static UI and powerfulLiveComponentfor interactive widgets.
class Navbar(Component): def render(self): framework = config.get('css_framework') if framework == 'bootstrap5': elif framework == 'tailwind': return self._render_tailwind() return self._render_plain()
The End of N+1 Queries.
The #1 performance killer in Django apps is the N+1 query problem. djust solves it automatically.
Our compiler analyzes your templates to see exactly which fields you use (e.g.,
{{ book.author.name }}). It then automatically injects the optimal
select_related calls into your QuerySet.
{% for book in books %}
{{ book.author.name }}
{% endfor %}
{% for book in books %}
{{ book.author.name }}
{% endfor %}
JOIN authors ON ...