Flask 烧瓶渲染模板()

Flask 烧瓶渲染模板(),flask,Flask,我在阅读Flask的render_template()时遇到了以下代码块: @app.route('/result',methods = ['POST', 'GET']) def result(): if request.method == 'POST': result = request.form return render_template("result.html",result = result) 为什么在将输入传递给render_template()时必须写入

我在阅读Flask的render_template()时遇到了以下代码块:

@app.route('/result',methods = ['POST', 'GET'])
def result():
  if request.method == 'POST':
     result = request.form
     return render_template("result.html",result = result)
为什么在将输入传递给render_template()时必须写入result=result?如果你能把它

return render_template("result.html", result)

Flask这样介绍这个方法有什么原因吗?

这背后的原因是模板文件可能有很多占位符,它需要知道如何区分所有占位符

例如,可以使用以下模板:

<!DOCTYPE html>
<html lang="en">
<head>
    <title> {{ page_title }}
</head>
<body>
    {{ page_body }}
</body>
</html>
这是函数的实际签名(取自):

**context
是Python聚合传递给函数的所有
key=value
参数的一种方式,并将它们作为字典,形式如下:

{'key1': value1, 'key2': value2, ...}
我猜函数本身或被调用的子函数正在解释模板页面,并使用字典中的值查找模板中提供的变量名,该值对应于键,即变量名


长话短说,这样一来,函数就足够通用,每个人都可以传递任意多的参数,并且函数能够正确呈现模板页面。

这背后的原因是模板文件可能有很多占位符,它需要知道如何区分所有占位符

例如,可以使用以下模板:

<!DOCTYPE html>
<html lang="en">
<head>
    <title> {{ page_title }}
</head>
<body>
    {{ page_body }}
</body>
</html>
这是函数的实际签名(取自):

**context
是Python聚合传递给函数的所有
key=value
参数的一种方式,并将它们作为字典,形式如下:

{'key1': value1, 'key2': value2, ...}
我猜函数本身或被调用的子函数正在解释模板页面,并使用字典中的值查找模板中提供的变量名,该值对应于键,即变量名

长话短说,这样一来,函数就足够通用,每个人都可以根据自己的喜好传递尽可能多的参数,并且函数能够正确呈现模板页面