콘텐츠로 이동

애플리케이션

Starlette에는 다른 모든 기능을 깔끔하게 통합하는 애플리케이션 클래스인 Starlette 가 포함되어 있습니다.

Starlette. 응용 프로그램이 Starlette에서 가져옵니다.
Starlette.에서 일반 텍스트 응답을 가져옵니다.
별자리에서. 라우팅 가져오기 경로, 마운트, 웹 소켓 경로
Starlette.static에서 Static 가져오기


데프 홈페이지(요청):
    일반 텍스트 응답을 반환합니다('안녕하세요, 세상!')

Def user_me(요청):
    사용자 이름 = "John Doe"
    일반 텍스트 응답을 반환합니다('안녕하세요, %s!'% 사용자 이름).

Def 사용자(요청):
    사용자 이름 = 요청. pase_params ['username']
    일반 텍스트 응답을 반환합니다('안녕하세요, %s!'% 사용자 이름).

Async def websocket_endpoint(웹 소켓):
    웹소켓을 기다리세요. 수락하세요 ()
    웹소켓을 기다리세요. send_gate ('안녕하세요, 웹소켓!')
    웹소켓을 기다리세요. 닫으세요 ()

데프 시작():
    인쇄('준비 완료')


경로 = [
    경로('/', 홈페이지),
    경로('/user/me', user_me),
    경로('/사용자/{username}', 사용자),
    WebSocketRoute('/ws', websocket_endpoint),
    마운트('/정적', 정적 파일(디렉토리 = "정적"),
]

앱 = Starlette(디버그 = 참, 경로 = 경로, on_ = [])

인스턴트 응용 프로그램

::: starlette.applications.Starlette :文档字符串

응용 프로그램 인스턴스에 상태 저장

일반 app.state 속성을 사용하여 응용 프로그램 인스턴스에 추가 상태를 저장할 수 있습니다.

예를 들어:

App.stae.ADMIN_EMAIL='admin@example.org'

애플리케이션 인스턴스 액세스

request 를 사용할 수 있는 경우(즉, 엔드포인트 및 미들웨어) 애플리케이션은 request.app 에서 사용할 수 있습니다.