Flask中四個好用的裝飾器
作者:老貓
在這篇文章中我們將來總結(jié)一下flask中的幾個裝飾器,這四個常用的裝飾器可以增強視圖函數(shù)的功能和行為。
Flask是一個強大的web框架,在這篇文章中我們將來總結(jié)一下flask中的幾個裝飾器,這4個常用的裝飾器可以增強視圖函數(shù)的功能和行為.
1.route裝飾器
用于將 URL 映射到視圖函數(shù),指定 URL 規(guī)則和請求方法。這個裝飾器是flask中最常用的裝飾器之一。
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return 'Hello, World!'
2.before_request和after_request裝飾器
在請求處理之前或之后執(zhí)行一些操作,比如設置全局變量、日志記錄等。比如說讀取整個網(wǎng)站的設置內(nèi)容,以便在任何頁面都能獲取到這些信息。
from flask import request
@app.before_request
def before_request_func():
print('Before Request')
@app.after_request
def after_request_func(response):
print('After Request')
return response
3.errorhandler裝飾器
用于處理特定狀態(tài)碼的錯誤,比如404 Not Found等。
@app.errorhandler(404)
def page_not_found(e):
return 'Page Not Found', 404
4.login_required裝飾器
用于限制某些視圖函數(shù)需要用戶登錄才能訪問。
from flask import g, redirect, url_for
def login_required(view):
@functools.wraps(view)
def wrapped_view(**kwargs):
if g.user is None:
return redirect(url_for('login'))
return view(**kwargs)
return wrapped_view
這些裝飾器可以根據(jù)需求結(jié)合使用,來增強 Flask 應用的功能和安全性。
責任編輯:趙寧寧
來源:
老貓coder