Lewati ke isi

Aplikasi

Starlette termasuk kelas aplikasi,Starlette, yang dengan rapi mengintegrasikan semua fungsi lainnya.

Starlette.application diimpor dari Starlette
Dari pemula. Tanggapan impor PlainTextResponse
Dari bintang. rute impor Rute, Gunung, WebSocketRoute
Dari starlette.staticfiles impor StaticFiles


Beranda pasti (permintaan):
    Pengembalian PlainTextResponse ('Halo, dunia!')

Pengguna pasti _ saya (permintaan):
    Nama pengguna = "John Doe"
    Mengembalikan PlainTextResponse ('Halo,% s!'% nama pengguna)

Pengguna default (permintaan):
    Nama pengguna = permintaan. path _ params ['nama pengguna']
    Mengembalikan PlainTextResponse ('Halo,% s!'% nama pengguna)

Async def websocket _ endpoint (websocket):
    Tunggu websocket.terima ()
    Tunggu websocket. kirim _ teks ('Halo, websocket!')
    Tunggu websocket.close ()

Def startup ():
    Cetak ('Siap berangkat')


Rute = [
    Rute ('/', beranda),
    Rute ('/ user / me', user _ me),
    Rute ('/ pengguna /{username}', pengguna),
    WebSocketRoute ('/ ws', websocket _ endpoint),
    Gunung ('/ statis', StaticFiles (direktori = "statis")),
]

Aplikasi = Starlette (debug = Benar, rute = rute, on _ startup = [startup])

aplikasi instansiasi

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

Menyimpan status pada contoh aplikasi

Anda dapat menggunakan atribut app.state generik untuk menyimpan status tambahan apa pun pada instance aplikasi.

Misalnya:

App.state.ADMIN _ EMAIL = 'admin@example.org'

Contoh aplikasi akses

Jika request tersedia (yaitu endpoint dan middleware), aplikasi ini tersedia di request.app.