无法将值传递到python3中的jinja2模板

pftdvrlh  于 2023-03-20  发布在  Python
关注(0)|答案(1)|浏览(131)

我无法从jinja2模板中testcases值。
python3代码:

from jinja2 import Environment, FileSystemLoader

testcases = [
    {'name' : 'testcase1', 'value' : 'PASS'},
    {'name': 'testcase2', 'value': 'FAIL'},
    {'name': 'testcase3', 'value': 'FAIL'},
]

env = Environment(loader=FileSystemLoader("."))
template = env.get_template('./index.html')

content = template.render(testcases)
print(content)

Jinja3 html模板:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-rbsA2VBKQhggwzxH7pPCaAqO46MgnOM80zW1RWuH61DGLwZJEdK2Kadq2F9CUG65" crossorigin="anonymous">

</head>
<body>
    <p1>Hello</p1>

    <div>
        <ul>
            {% for i in testcases %}
                <li>{{ i['name'] }}</li>
            {% endfor %}
        </ul>
    </div>

    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-kenU1KFdBIe4zVF0s0G1M5b4hcpxyD9F7jL+jjXkk+Q2h455rYXK/7HAuoJl+0I4" crossorigin="anonymous"></script>
</body>
</html>

我得到的值如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-rbsA2VBKQhggwzxH7pPCaAqO46MgnOM80zW1RWuH61DGLwZJEdK2Kadq2F9CUG65" crossorigin="anonymous">

</head>
<body>
    <p1>Hello</p1>

    <div>
        <ul>
            
        </ul>
    </div>

    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-kenU1KFdBIe4zVF0s0G1M5b4hcpxyD9F7jL+jjXkk+Q2h455rYXK/7HAuoJl+0I4" crossorigin="anonymous"></script>
</body>
</html>

我需要testcase[i]['name']的值,但是字段为空。有人能帮我吗?

41zrol4v

41zrol4v1#

应使用content = template.render(testcases = testcases)而不是content = template.render(testcases)

相关问题