File Statis
Starlette juga menyertakan kelas StaticFiles untuk menyediakan layanan file dalam direktori tertentu:
file statis
Tanda tangan: StaticFiles(directory=None, packages=None, html=False, check_dir=True, follow_symlink=False)
directorySebuah string atau os. PathSeperti mewakili jalur direktori.packagesDaftar string atau string tuples untuk paket Python.html- Berjalan dalam mode HTML. Jika file seperti itu ada, itu akan dimuat secara otomatis untuk direktoriindex.html...check_dir- Pastikan bahwa direktori ada ketika instantiated. Default adalahTrue...follow_symlink- Nilai boolean yang menunjukkan apakah tautan simbolis ke file dan direktori harus diikuti. Default adalahFalse.
Anda dapat menggabungkan aplikasi ASGI ini dengan perutean Starlette untuk menyediakan layanan file statis yang komprehensif.
Starlette.application diimpor dari Starlette
Dari bintang. rute impor Gunung
Dari starlette.staticfiles impor StaticFiles
Rute = [
...
Gunung ('/ statis', aplikasi = StaticFiles (direktori = 'statis'), nama = "statis"),
]
Aplikasi = Starlette (rute = rute)
Untuk permintaan yang tidak cocok, file statis akan merespons dengan metode "404 tidak ditemukan" atau "405 tidak diizinkan." Dalam mode HTML, jika file 404.html ada, itu akan ditampilkan sebagai respons 404.
packages Opsi dapat digunakan untuk memasukkan direktori "statis" dalam paket Python. Paket "bootstrap4" Python adalah salah satu contohnya.
Starlette.application diimpor dari Starlette
Dari bintang. rute impor Gunung
Dari starlette.staticfiles impor StaticFiles
Rute = [
...
Mount ('/ statis', app = StaticFiles (direktori = 'statis', package = ['bootstrap4']), name = "statis"),
]
Aplikasi = Starlette (rute = rute)
Secara default,StaticFiles mencari direktori statics di setiap paket, dan Anda dapat mengubah direktori default dengan menentukan tupel string.
Rute = [
...
Gunung ('/ statis', aplikasi = StaticFiles (paket = [ ('bootstrap4', 'statis') ]), nama = "statis"),
]
Anda mungkin lebih suka menyertakan file statis langsung di direktori "statis" daripada menggunakan kemasan Python untuk menyertakan file statis, tetapi ini dapat berguna untuk membundel komponen yang dapat digunakan kembali.