Ost Penghias Kelalang Terpakai Teratas

Patricia Arquette
Lepaskan: 2024-10-17 06:13:02
asal
994 orang telah melayarinya

The Top ost Used Flask Decorators

Flask ialah salah satu rangka kerja mikro yang paling popular untuk membina aplikasi web dalam Python, dan kebanyakan kuasanya datang daripada penggunaan penghias. Penghias ini membolehkan anda menyambung ke fungsi rangka kerja dengan cara yang bersih dan boleh dibaca, tanpa mengacaukan kod anda. Dalam siaran ini, kami akan meneroka lima penghias Flask yang paling biasa digunakan, serta dua sebutan kehormat.

1 @app.route()

Penghias @app.route() digunakan untuk menentukan penghalaan URL untuk apl Flask anda. Ia mengikat URL pada fungsi Python yang mengendalikan logik untuk laluan itu.

Contoh:

@app.route('/')
def home():
kembali "Selamat datang ke halaman utama!"

Contoh mudah ini memetakan URL akar (/) ke fungsi home(), mengembalikan mesej alu-aluan kepada pelawat.

2 @app.before_request()

Penghias ini menjalankan fungsi sebelum setiap permintaan. Ia sesuai untuk menyemak pengesahan, memulakan pembolehubah atau menyediakan sumber.

Contoh:

@app.before_request
def check_authentication():
jika bukan pengguna_ada_log masuk():
kembalikan "Sila log masuk", 401

Dalam kes ini, fungsi menyemak sama ada pengguna disahkan sebelum membenarkan mereka meneruskan.

3 @app.after_request()

Penghias @app.after_request() membenarkan anda mengubah suai respons selepas permintaan telah diproses tetapi sebelum ia dihantar kepada pelanggan. Ini selalunya digunakan untuk tugasan seperti menambah pengepala atau mengelog respons.

Contoh:

@app.after_request
def add_security_headers(respons):
response.headers['X-Content-Type-Options'] = 'nosniff'
membalas respons

Di sini, pengepala keselamatan ditambahkan pada setiap respons.

4 @app.errorhandler()

Pengendalian ralat adalah penting untuk mana-mana apl web. Penghias @app.errorhandler() membolehkan anda menentukan gelagat tersuai untuk kod status HTTP tertentu, seperti 404 Not Found.

Contoh:

@app.errorhandler(404)
def page_not_found(e):
kembalikan "Op! Halaman tidak ditemui.", 404

Pengendali tersuai ini mengembalikan mesej mesra pengguna apabila ralat 404 berlaku.

5 @app.teardown_request()

Digunakan untuk membersihkan selepas permintaan, @app.teardown_request() memastikan sumber seperti sambungan pangkalan data ditutup dengan betul.

Contoh:

@app.teardown_request
def close_db_connection(exception=None):
db_session.remove()

Di sini, sesi pangkalan data ditutup selepas setiap permintaan, walaupun pengecualian telah dibangkitkan semasa pemprosesan permintaan.

Sebutan Yang Berhormat

Walaupun penghias ini tidak selalu digunakan sekerap, ia boleh menjadi sangat berguna dalam kes tertentu:

@app.before_first_request()

Penghias ini digunakan untuk melaksanakan fungsi sebelum permintaan pertama dikendalikan. Ia sesuai untuk memulakan sumber global, seperti sambungan pangkalan data atau konfigurasi pemuatan.

@app.before_first_request
def initialize_db():
db.connect()
@app.context_processor()

Jika anda perlu menyuntik pembolehubah ke dalam semua templat Jinja2 anda secara global, gunakan penghias @app.context_processor(). Ini menjadikan nilai seperti konfigurasi pengguna atau apl semasa tersedia dalam setiap templat.

@app.context_processor
def inject_user():
return dict(current_user=get_current_user())

Dengan ini, current_user tersedia dalam semua templat anda tanpa perlu menghantarnya secara manual setiap kali.

Membungkus

Penghias kelalang memudahkan untuk mengurus kitaran hayat permintaan web, menyesuaikan gelagat dan melanjutkan fungsi. Memahami cara dan masa untuk menggunakan penghias biasa ini akan membantu memastikan kod Flask anda bersih, boleh diselenggara dan berkuasa. Adakah kami terlepas mana-mana penghias kegemaran anda? Beritahu kami!

Sumber

  • API Kelalang

  • Penghalaan Kelalang

  • Pengendalian Ralat Kelalang

  • Cangkuk Permintaan Kelalang

  • Pemproses Konteks Kelalang

  • Kelalang Sebelum Permintaan Pertama

Atas ialah kandungan terperinci Ost Penghias Kelalang Terpakai Teratas. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan