我执行查询到我的位子在Django模板中的Unicode字符和我的数据传递给语境词典:防止渲染
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...
我试着我的数据转换的视图中的JSON为:
countries = json.dumps(countries)
但实际上,后来当我呈现模板中的数据分开我得到的JSON字符串的每一个字符。
,你会得到一个字符串(如:“[ “阿卜耶伊”],[“阿富汗”]]');这就是为什么你在循环中获得单个字符的原因 – dazedconfused
任何你没有使用django orm并对原始SQL查询进行简单SELECT的原因? –
@Muhammad Tahir是的。其实我没有在我的DB这个表格中作为模型传递。该表位于不同的数据库中,我直接执行原始SQL查询。如果我在django db中将它作为模型传递,也许会更好。 – user1919