首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >防止在django模板中呈现unicode字符

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

Stack Overflow用户
提问于 2016-05-30 08:45:00
回答 1查看 171关注 0票数 1

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

代码语言:javascript
复制
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

然后,我希望按照以下方式呈现模板中的数据:

代码语言:javascript
复制
{% if countries %}
   {% for cntr in countries %}
      <li><a href="#" id= {{ cntr }}>{{ cntr }}</a></li>
    {% endfor %}
{% endif %}

问题是,我得到了如下unicode格式:

代码语言:javascript
复制
[(u'Abyei',), (u'Afghanistan',), (u...

我试图将视图中的数据转换为JSON:

代码语言:javascript
复制
countries = json.dumps(countries)

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-30 09:00:39

正如docs fetchall中提到的,它返回一个元组列表,因此每个国家名都在列表中的一个元组中。你需要把名单弄平才能得到国家名单。

代码语言:javascript
复制
countries = cur.fetchall()
countries = [c[0] for c in countries]
ctx['countries'] = countries
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37521310

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档