python - 我将 python 对象传递给模板(使用 jinja),它不适用于一个模板,但适用于其他模板
问题描述
我有一个国家对象列表,这些对象具有名称、大陆、人口、缩写等属性,我只是试图将该对象传递给 html 模板。我有其他路线都编码相同的工作正常但由于某种原因国家对象作为字符串传递,并且列表似乎是空的。
@app.route('/continents/<continent>/<country>')
def countryView(country, continent):
countries = []
for c in countriesWorld:
if c.continent == continent:
countries.append(c)
if c.name == country:
country = c
return render_template('countryview.html', country=country,
countries=countries), 200
这是我的 html/jinja 模板
{% extends "base.html" %}
{% block content %}
<div id="countrycontainer">
<h1>{{ country.name }}</h1>
<img src="{{ "../static/img/flags/" ~ country.abbreviation ~ ".png"
}}">
</div>
{% endblock %}}
如果我使用 '{{ country }} 而不是国家/地区名称,则会显示该名称,因此很明显它已作为字符串而不是对象传递,我无法弄清楚原因。任何帮助,将不胜感激
解决方案
尾随空格是导致问题的原因,country == c.name 因为这个尾随空格而从未评估为 true,因此作为字符串的原始变量“country”被传递给视图。
推荐阅读
- android - 在android中自动安排设备重启的警报
- r - 根据输入向框架添加日期
- c# - Selenium WebDriver 测试登录验证/身份验证
- javascript - Javascript 在 Safari 中工作,但在 Chrome 中不工作
- javascript - 用于在某些内容之后查找多个空格的正则表达式
- jquery - 在 Safari 浏览器 jquery 上使用 hostgator 不起作用
- vba - Excel VBA:将不同文件中的特定工作表拉入现有工作簿并更改名称
- java - TestNg Selenium-动态查找表列值
- grouping - SSRS 对除一个字段外的所有字段进行分组
- python - 在 Python 中,如何进入除块中的调试器并访问异常实例?