从一个jinja html文件中,我想使用并打印从python / flask传递的kwargs
。我将变量传递给flask render_template
,但是,我不知道如何从jinja中获取kwargs
。这是一个最小的烧瓶示例:
from flask import Flask, render_template, request
app = Flask(__name__)
@app.route("/foo", methods=['POST'])
def foo():
return render_template("mypage.html", alpha=request.form.get('alpha'),
beta=request.form.get('beta'))
这是Jinja html文件mypage.html
:
<html><body><ul>
{% for k, v in kwargs.items() %}
<li>{{ k }}{{ v }}</li>
{% endfor %}
</ul></body></html>
这是我尝试发布到页面时的错误:
File "/usr/lib/python3.8/site-packages/jinja2/environment.py", line 430, in getattr
return getattr(obj, attribute)
jinja2.exceptions.UndefinedError: 'kwargs' is undefined
非常抱歉,如果它是重复的,但是我在任何地方都找不到这个问题/答案。
您的程序需要匹配模板的kwargs:
from flask import Flask, render_template, request
app = Flask(__name__)
@app.route("/foo", methods=['POST'])
def foo():
kwargs = {'alpha': request.form.get('alpha'),
'beta': request.form.get('beta'),
}
return render_template("mypage.html", kwargs=kwargs)