gpt4 book ai didi

django - 防止在 django 模板中呈现 unicode 字符

转载 作者:行者123 更新时间:2023-11-29 12:58:13 24 4
gpt4 key购买 nike

我正在对 View 中的表执行查询,并将数据传递给上下文字典:

conn = psycopg2.connect(constr)
cur = conn.cursor()

sqlstr = "SELECT DISTINCT adm0_name FROM wld_bnd_adm0_gaul_2015 ORDER BY adm0_name;"
cur.execute(sqlstr)
countries = cur.fetchall()
ctx['countries'] = countries

然后我想在我的模板中呈现数据如下:

{% if countries %}
{% for cntr in countries %}
<li><a href="#" id= {{ cntr }}>{{ cntr }}</a></li>
{% endfor %}
{% endif %}

问题是我得到了这样的 unicode 格式:

[(u'Abyei',), (u'Afghanistan',), (u...

我尝试将 View 中的数据转换为 JSON:

countries = json.dumps(countries)

但实际上,当我在模板中呈现数据时,我会分别获取 JSON 字符串的每个字符。

最佳答案

如文档中所述 fetchall返回一个元组列表,因此每个国家名称都在列表中的一个元组内。您需要展平列表以获取国家/地区列表。

countries = cur.fetchall()
countries = [c[0] for c in countries]
ctx['countries'] = countries

关于django - 防止在 django 模板中呈现 unicode 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37521310/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com