Flask 烧瓶渲染模板()
我在阅读Flask的render_template()时遇到了以下代码块: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()时必须写入
@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, ...}
我猜函数本身或被调用的子函数正在解释模板页面,并使用字典中的值查找模板中提供的变量名,该值对应于键,即变量名
长话短说,这样一来,函数就足够通用,每个人都可以根据自己的喜好传递尽可能多的参数,并且函数能够正确呈现模板页面