dazzler
v0.10.0
Dazzler는 Python이 데스크탑 또는 웹 응용 프로그램을 만들 수있는 하이브리드 UI 프레임 워크입니다.
AIOHTTP, React 및 Electron으로 제작되었습니다.
PIP로 설치 : $ pip install dazzler
github 템플릿과 함께 QuickStart
레이아웃이있는 페이지를 작성하고 바인딩을 할당하여 세션 시스템으로 방문자 이름을 저장하고로드하십시오. 타이 및 변환을 통한 입력 값이없는 경우 방문자 이름을 저장하는 버튼이 비활성화됩니다.
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