Flask是一个强大的web框架,在这篇文章中我们将来总结一下flask中的几个装饰器,这4个常用的装饰器可以增强视图函数的功能和行为.
1.route装饰器
用于将 URL 映射到视图函数,指定 URL 规则和请求方法。这个装饰器是flask中最常用的装饰器之一。
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return 'Hello, World!'
2.before_request和after_request装饰器
在请求处理之前或之后执行一些操作,比如设置全局变量、日志记录等。比如说读取整个网站的设置内容,以便在任何页面都能获取到这些信息。
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装饰器
用于处理特定状态码的错误,比如404 Not Found等。
@app.errorhandler(404)
def page_not_found(e):
return 'Page Not Found', 404
4.login_required装饰器
用于限制某些视图函数需要用户登录才能访问。
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
这些装饰器可以根据需求结合使用,来增强 Flask 应用的功能和安全性。