Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Rangka kerja web ringan Python: Pustaka botol!

Rangka kerja web ringan Python: Pustaka botol!

WBOY
WBOYke hadapan
2023-04-13 14:10:061228semak imbas

Rangka kerja web ringan Python: Pustaka botol!

Walaupun ringan, penggunaan perpustakaan Botol juga sangat mudah. Saya percaya sebelum membaca artikel ini, pembaca sudah mempunyai pemahaman yang mudah tentang ular sawa. Jadi apakah jenis operasi misteri yang boleh melengkapkan fungsi pelayan dengan ratusan baris kod? Sama-sama kita tunggu dan lihat.

1. Pemasangan perpustakaan botol

1) Gunakan pip untuk memasang

Rangka kerja web ringan Python: Pustaka botol!

2) Muat turun fail Botol

https://github.com/bottlepy/bottle/blob/master/bottle.py

2. “Hello World!”

Apa yang dipanggil kejayaan segala-galanya Mari kita mulakan dengan Hello World dan pelajari tentang mekanisme asas Botol daripada contoh mudah ini.

Mula-mula kod:

Rangka kerja web ringan Python: Pustaka botol!

Mula-mula kita mengimport kaedah dapatkan dan jalankan daripada perpustakaan botol.

Seterusnya, kita perlu membina tapak web Mula-mula, kita memerlukan alamat IP dan port ini dilengkapkan dengan menjalankan. alamat mesin ini) dan port 80 (port lalai penyemak imbas):

Jalankan kod python ini HelloWorld.py

Rangka kerja web ringan Python: Pustaka botol!

seperti ini pelayan tapak web kini berjalan. Buka penyemak imbas dan masukkan 127.0.0.1(:80)

Rangka kerja web ringan Python: Pustaka botol!

Mesej ralat 404 yang biasa tidak ditemui: '/' . Ini sudah tentu, kerana selain pelayan, laman web juga mempunyai komponen yang sangat penting - halaman web!

Apabila penyemak imbas mengakses alamat IP, ia menghantar permintaan dapatkan kepada IP dan menunggu pemulangan data halaman web kemudian pustaka botol kami merangkum kaedah get untuk melaksanakan proses ini.

Kodnya adalah seperti berikut:

Rangka kerja web ringan Python: Pustaka botol!

Saya tidak tahu jika anda mengenali simbol @ di atas def penghias dalam sintaks ular sawa Maknanya boleh difahami dengan mudah sebagai menggunakan fungsi get untuk mengubah suai halaman utama. Di sini, @get(‘/’) menghiasi halaman utama ke dalam fungsi yang sepadan apabila penyemak imbas menghantar permintaan GET 127.0.0.1/. Anda boleh melakukan sebarang pemprosesan, dan akhirnya mengembalikan respons kepada permintaan dapatkan. Di sini halaman HelloWorld yang mudah dikembalikan Jika anda menjalankannya semula, anda akan mempunyai kesan ini:

Rangka kerja web ringan Python: Pustaka botol!

Anda juga boleh menggunakan kaedah templat yang dikapsulkan dalam botol untuk memisahkan. data halaman web. Ditulis dalam fail .tpl, contohnya adalah seperti berikut:

Rangka kerja web ringan Python: Pustaka botol!

Fungsi run juga mempunyai pemuat semula parameter hidupkan muat semula automatik pelayan web Pelayan akan dimuat semula secara automatik apabila anda membuat sebarang perubahan, membolehkan kemas kini hangat tapak web.

3. Penghalaan dinamik dan muat turun fail

Seperti yang kami gunakan get('/') di atas, ia pada dasarnya adalah laluan statik dan alamat ditentukan sebelum pelayan dijalankan. Penghalaan boleh dilakukan dengan cara ini.

Jadi bagaimana jika ia adalah masa jalan pelayan? Sebagai contoh, mengakses fail pada pelayan laman web tidak boleh dilakukan secara statik Dalam kes ini, kita boleh menggunakan penghalaan dinamik.

Penghalaan dinamik botol dilaksanakan dengan kaedah laluan yang sama, ia juga menggunakan penghias untuk menghiasi fungsi untuk melaksanakan fungsi penghalaan.

Rangka kerja web ringan Python: Pustaka botol!

Di sini kita melihat sesuatu yang unik muncul dalam parameter penghias: 'nama'. Parameter fungsi yang diubah suai olehnya mempunyai nama yang sama dengan parameter selepas titik bertindih Dalam fungsi, anda boleh menggunakan parameter nama sebagai pembolehubah pemprosesan, dan akhirnya mengembalikan respons.

Rangka kerja web ringan Python: Pustaka botol!

Penghalaan dinamik boleh memudahkan penghalaan fail. Mungkin terdapat ratusan atau ribuan fail yang disimpan dalam pelayan, dan adalah mustahil untuk bergantung pada alamat statik untuk setiap satu.

Rangka kerja web ringan Python: Pustaka botol!

Di sini kita dapat melihat fungsi static_file baru, parameter pertama ialah nama fail, parameter kedua ialah alamat direktori akar (iaitu lokasi fail), semasa fail Sistemnya ialah:

--HelloWorld.py

--store1.txt

Akses penyemak imbas untuk mendapatkan

Rangka kerja web ringan Python: Pustaka botol!

Sudah tentu anda juga boleh meletakkan fail dalam folder, cuma gantikan parameter root dengan alamat folder.

4. Respons POST dan muat naik fail

Jika kita ingin melaksanakan fungsi yang lebih kompleks, kita bukan sahaja perlu menggunakan kaedah GET, tetapi juga kaedah POST. Di sini kami menggunakan Borang dalam bahasa HTML untuk menunjukkan respons perpustakaan Botol terhadap permintaan POST.

Rangka kerja web ringan Python: Pustaka botol!

Mula-mula kami melaksanakan tetingkap untuk memuat naik fail, seperti di atas.

Halaman di sini ialah antara muka penyerahan borang yang ringkas, saya tidak akan memperkenalkannya secara terperinci di sini. >
Kod respons POST berikut adalah seperti berikut:

Rangka kerja web ringan Python: Pustaka botol!


Import kaedah siaran dan permintaan daripada pustaka Botol.

Rangka kerja web ringan Python: Pustaka botol!Sama seperti kaedah dapatkan, gunakan pos untuk menghiasi fungsi respons, dan kemudian gunakan permintaan dalam badan fungsi untuk mendapatkan badan permintaan pos yang diterima oleh pelayan laman web. Kaedah request.forms.get() boleh mengeluarkan rentetan yang sepadan dengan Kunci dalam borang, kaedah request.files.get() boleh mengeluarkan fail yang sepadan dengan Kunci dalam borang, dan kaedah simpan boleh digunakan untuk menyimpan data untuk mencapai muat naik fail.


Seterusnya kami menjalankan ujian:



Selepas mengklik muat naik, kami membuka direktori akar pelayan (yang merupakan lokasi python file), semak dan dapatkan fail tersebut telah berjaya dimuat naik!

Rangka kerja web ringan Python: Pustaka botol!

5. Ringkasan

Selepas melengkapkan fungsi ini, anda mesti mahu menggunakan botol ke rangkaian Lagipun, jika ia hanya berjalan secara setempat, tapak web akan Apa yang dilakukannya? Rangka kerja web ringan Python: Pustaka botol!

Tsinghuanet menyediakan IP awam untuk setiap titik akses rangkaian kami Gunakan ipconfig dalam cmd untuk menyemak alamat IP, tukar parameter yang sedang dijalankan ke IP awam anda, kemudian Masukkan alamat IP dan port. nombor (lalai 80) dalam pelayar mana-mana peranti (telefon mudah alih disyorkan, penyemak imbas komputer kadangkala sangat perlahan), dan anda boleh mengaksesnya!


Pustaka Bottle juga mempunyai banyak fungsi yang berkuasa, termasuk membaca dan menulis kuki, memasang, menyahpasang dan melumpuhkan pemalam Bottle juga boleh digunakan ke pelayan lain, menjadikannya sangat mudah untuk melaksanakan berbilang-. threading. , fungsi ini sedang menunggu untuk diterokai oleh pembaca!

Atas ialah kandungan terperinci Rangka kerja web ringan Python: Pustaka botol!. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:51cto.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam