Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将数据传递到jinja模板_Python_Postgresql_Flask_Jinja2 - Fatal编程技术网

Python 如何将数据传递到jinja模板

Python 如何将数据传递到jinja模板,python,postgresql,flask,jinja2,Python,Postgresql,Flask,Jinja2,在长时间敲击键盘后,我可能会感到疲劳,但我现在无法再往前走了。 代码如下: elif request.form["submit"] == "blah": cursor.execute('''SELECT * FROM "Table_x"''') results = cursor.fetchall() for record in cursor: results.append(record) re

在长时间敲击键盘后,我可能会感到疲劳,但我现在无法再往前走了。 代码如下:

        elif request.form["submit"] == "blah":
        cursor.execute('''SELECT * FROM "Table_x"''')
        results = cursor.fetchall()
        for record in cursor:
            results.append(record)
        return "Showing all:" + str(results) + render_template("index.html")
基于以上内容,渲染模板上的输出给了我一个看起来很糟糕的元组列表

[(1, 'Dummy1', 'dummy1', 1), (2, 'Dummy2', 'dummy2', 2), (3, 'Dummy3', 'dummy3', 3)] 

如何更改return或results变量(或两者),以便列表中的每个元组都以单独的行打印?

问题在于如何使用文档中的以下内容将数据传递到模板:

使用给定上下文呈现模板文件夹中的模板

参数:模板\u名称\u或\u列表–要创建的模板的名称 呈现的,或模板名为第一个现有模板的iterable 将在上下文中呈现–应在中可用的变量 模板的上下文

上下文
只不过是要作为关键字参数传递的变量。下面是一个示例,首先是python文件
app.py

#!/usr/bin/python3

from flask import Flask, render_template

app = Flask(__name__)


@app.route("/tuple")
def jpg_to_pdf():
    results = [(1, 'Dummy1', 'dummy1', 1), (2, 'Dummy2', 'dummy2', 2), (3, 'Dummy3', 'dummy3', 3)]
    return render_template('index.html', data=results)
和Jinja模板:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Tuple</title>
</head>
<body>
<table style="width: 100%">
{% for element in data %}
 <tr>
    <th>{{ element[0] }}</th>
    <th>{{ element[1] }}</th>
    <th>{{ element[2] }}</th>
    <th>{{ element[3] }}</th>
  </tr>
{% endfor %}
</table>
</body>
</html>

您可以找到有关呈现模板的更多信息。

您需要在jinja中循环查看元组列表,并在每个元组后添加换行符(

)。您的问题似乎在于如何呈现模板。从技术上讲,您创建数据的方式没有问题
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Tuple</title>
</head>
<body>
<table style="width: 100%">

 <tr>
    <th>1</th>
    <th>Dummy1</th>
    <th>dummy1</th>
    <th>1</th>
  </tr>

 <tr>
    <th>2</th>
    <th>Dummy2</th>
    <th>dummy2</th>
    <th>2</th>
  </tr>

 <tr>
    <th>3</th>
    <th>Dummy3</th>
    <th>dummy3</th>
    <th>3</th>
  </tr>

</table>
</body>
</html>