如何在神社的烧瓶中消耗kwargs

问题描述 投票:0回答:1

从一个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

非常抱歉,如果它是重复的,但是我在任何地方都找不到这个问题/答案。

python flask jinja2 kwargs
1个回答
0
投票

您的程序需要匹配模板的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)
© www.soinside.com 2019 - 2024. All rights reserved.