我无法从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']的值,但是字段为空。有人能帮我吗?
1条答案
按热度按时间41zrol4v1#
应使用
content = template.render(testcases = testcases)
而不是content = template.render(testcases)