.route() decorator in Flask?Flask:@app.route()装饰器在Flask中究竟是什么?

12 浏览
0 Comments

.route() decorator in Flask?Flask:@app.route()装饰器在Flask中究竟是什么?

此问题已经有了答案:

Python 中的“ at ”(@)符号是什么意思?

我正在按照 这个 Flask 教程进行学习。我们像下面这样声明路由:@app.route(\'/\'),但是在 Python 中没有变量可以包含 @ 字符。

我很困惑 @app 是什么以及它来自哪里。这是代码片段:

from app import app
@app.route('/')
@app.route('/index')
def index():
    return "Hello, World!"

admin 更改状态以发布 2023年5月23日
0
0 Comments

这是一个装饰器。当装饰@app.route('/')(它是一个函数)时,调用index()就等同于调用app.route('/')(index)()

这里有另一个链接,可以在Python Wiki中解释它。

0
0 Comments

@ 告诉 Python 使用在 app.route() 中定义的装饰器来修饰函数 index()

简单来说,装饰器是一种修改另一个函数行为的函数。例如,考虑以下玩具示例。

def square(func):
    def inner(x):
        return func(x) ** 2
    return inner
@square
def dbl(x):
    return x * 2 

现在 - 调用 dbl(10) 不会返回 20,而是返回 400(即 20**2)。

这里提供了装饰器的逐步解释。

0