我在templates.py的模板文件中获取此类数据。现在我想只获取 sql_name 字段的数据u'ag_pres
。那我怎么能得到这些数据呢?在投票之前请让我知道我做错了什么?
<type 'list'>: [{'sql_name': u'ag_pres', 'type': 'string', 'name': u'Ag Pres', 'map_order': 0}, {'sql_name': u'abc', 'type': 'string', 'name': u'ABC', 'map_order'
:0}]
答案 0 :(得分:1)
如果没有剩下的视图和模板代码,很难分辨,但是看看那个输出我认为问题是sql_name
位于列表中的对象内部 - 所以不能直接访问。
您需要循环浏览模板中列表中的项目,以输出sql_name
的值。您可以使用{%for%}内置代码执行此操作:https://docs.djangoproject.com/en/1.11/ref/templates/builtins/#for
例如,在您的模板中:
{% for item in the_list %}
{{ item.sql_name }}
{% endfor %}
答案 1 :(得分:1)
看来您可能有一个包含此数据的变量,让我称之为result
,并且您已经询问了它的类型。
然后我可以说,
result = [{'sql_name': u'ag_pres', 'type': 'string', 'name': u'Ag Pres', 'map_order': 0}, {'sql_name': u'abc', 'type': 'string', 'name': u'ABC', 'map_order': 0}]
我可以看到结果是一个列表,我发现它的长度是两个。
>>> len(result)
2
'sql_name'显然位于列表中的第二项,即字典。
>>> result[1]
{'sql_name': 'abc', 'map_order': 0, 'name': 'ABC', 'type': 'string'}
然后我可以通过以下方式获得此项目的价值。
>>> result[1]['sql_name']
'abc'