这是我的代码:
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="static/test.css">
</head>
<body>
{% for i in range(result['data']|length) %}
<div id="wrapper">
{% for key, value in result['data'][i].iteritems() %}
<div id="first">{{ key }}</div>
<div id="second"><a href="{{ url_for('employees_name', employee_id=value)}}">{{ value }}</a></div>
{% endfor %}
</div>
{% endfor %}
</body>
</html>
当我将“value”变量传递给“employee_id”时,我收到错误:
BuildError:无法为端点'employees_name'构建url。你是否 忘记指定值['employee_id']?
奇怪的是,当我将“key”变量传递给“employee_id”时,一切都还好,但我需要传递“value”变量。可能导致什么问题?谢谢!
答案 0 :(得分:1)
虽然您可以通过对employee_id
的值进行硬编码来测试代码,并测试问题是否存在,但我认为您的问题是{{ value }}
为空。
由于我们没有employees_name
视图的代码,我建议你这样调试:
检查href
为空的链接,以便查看{{value}}
是什么,是否要传递给视图
检查循环在result['data'][i]
上的回报是什么,如果有任何结果
我会检查result['data']
是否{% if result %}
开始
但是,再次对employee_id
中href
的值进行硬编码,以查看问题是否存在{{value}}
不存在或导致问题的其他问题。
例如,如果value
与@app.route
中的变量类型相同,则可能会出现此错误。
答案 1 :(得分:0)
我改变了我的剧本,现在看起来像这样。它有效。
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="static/test.css">
</head>
<body>
{% for i in range(result['data']|length) %}
<div id="wrapper">
{% for key, value in result['data'][i].iteritems() %}
<div id="first">{{ key }}</div>
<div id="second">{{ value }}</div>
{% endfor %}
<div><a href="{{ url_for('employees_name', employee_id=result['data'][i]['EmployeeId'])}}">More</a></div>
</div>
{% endfor %}
</body>
</html>