dazzler
v0.10.0
Dazzler ist ein hybrides UI -Framework für Python zum Erstellen von Desktop- oder Webanwendungen.
Gebaut mit AIOHTTP, React und Electron.
Installieren Sie mit PIP: $ pip install dazzler
QuickStart mit einer Github -Vorlage
Erstellen Sie eine Seite mit einem Layout und weisen Sie Bindungen zum Speichern und Laden eines Besuchernamens mit dem Sitzungssystem zu. Die Schaltfläche zum Speichern des Besuchsnamens ist deaktiviert, wenn kein Eingabesteuerwert über Krawatte und Transformation.
from dazzler import Dazzler
from dazzler . system import Page , BindingContext , CallContext , transforms as t
from dazzler . components import core
app = Dazzler ( __name__ )
page = Page (
__name__ ,
core . Container ([
core . Html ( 'H2' , 'My dazzler page' ),
core . Container ( 'Please enter a name' , identity = 'visitor-name' ),
core . Input ( value = '' , identity = 'input' ),
core . Button ( 'Save name' , identity = 'save-btn' , disabled = True ),
], identity = 'layout' , id = 'layout' ),
title = 'My Page' ,
url = '/'
)
# UI updates via tie & transforms
page . tie ( 'value@input' , 'disabled@save-btn' ). transform (
t . Length (). t ( t . Lesser ( 1 ))
)
# Bindings executes on the server via websockets.
@ page . bind ( 'clicks@save-btn' )
async def on_click ( context : BindingContext ):
# Save the visitor name via session system
name = await context . get_aspect ( 'input' , 'value' )
await context . session . set ( 'visitor' , name )
await context . set_aspect (
'visitor-name' , children = f'Saved { name } '
)
# Aspects defined on the layout trigger on initial render and
# allows to insert initial data.
# `call` executes via regular requests.
@ page . call ( 'id@layout' )
async def on_layout ( context : CallContext ):
visitor = await context . session . get ( 'visitor' )
if visitor :
await context . set_aspect (
'visitor-name' , children = f'Welcome back { visitor } !'
)
app . add_page ( page )
if __name__ == '__main__' :
app . start ()Vollständige Dokumentation, die auf Redethedocs gehostet werden.
Holen Sie sich Hilfe für die Befehlszeilen -Tools: $ dazzler --help