我是新来的。当我遇到基本的Flask示例(下面的代码)时,我遇到了不确定性:在变量app之前需要使用@
什么。我尝试在删除@
时运行应用程序,但无法运行。如果我问的是一些非常基本的问题,请评论
from flask import Flask, escape, request
app = Flask(__name__)
@app.route('/')
def hello():
name = request.args.get("name", "World")
return f'Hello, {escape(name)}!'
Tags:
Python装饰器是用于转换其他函数的函数。调用修饰函数时,将调用装饰器。然后,装饰器可以执行操作、修改参数、停止执行或调用原始函数。我们可以使用decorator在视图执行之前用我们希望运行的代码包装视图
如果您已经阅读了Flask教程,那么您可能会熟悉此代码块中的语法
@app.route
是一个装饰程序,用于匹配URL以查看Flask应用程序中的函数。有关更详细的描述,您甚至可以参考此documentation 另外,在stackoverflow上还有一个类似的问题,您也可以参考this
@
符号用于装饰器Adecorator是一个函数,它接受另一个函数作为参数,并修改其行为
在Flask中,
app.route
是一个装饰程序,它将“安装”您的函数,作为web应用程序中特定路由的处理程序这样做:
与执行以下操作相同:
@
符号的作用是以函数作为参数隐式调用app.route('/foo')
的结果。正如您所看到的,这使得上面的代码更加方便和易于阅读如果您查看the Flask source code,您将看到
route()
作为类Flask
的方法的定义:那是一个^{} 。简言之,^{} 是一个装饰器,它告诉Flask什么URL应该触发我们的函数
相关问题 更多 >
编程相关推荐