dazzler
v0.10.0
Dazzler هو إطار واجهة المستخدم الهجينة لـ Python لإنشاء تطبيقات سطح المكتب أو الويب.
بنيت مع aioHTTP ، رد فعل وإلكترون.
تثبيت مع PIP: $ pip install dazzler
Quickstart مع قالب github
قم بإنشاء صفحة مع تخطيط وتعيين الارتباطات لحفظ وتحميل اسم الزائر مع نظام الجلسة. يتم تعطيل الزر لحفظ اسم الزائر في حالة عدم وجود قيمة إدخال عبر Tie & Transform.
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 ()الوثائق الكاملة المستضافة على readthedocs.
احصل على مساعدة لأدوات سطر الأوامر: $ dazzler --help