在Django模板中使用冒号访问JSON密钥

时间:2012-06-27 21:58:52

标签: django json django-templates

我正在尝试在Django模板中访问JSON中的id字段,但它中有一个冒号。

当我将其包含在模板中时,我收到以下错误:

  

“无法从'result.id.attributes.im:id'”中解析余数:':id'。

我试图逃避名字和冒号没有成功。

当我使用它的父级以及Django模板时,我已经包含了JSON输出。

有什么建议吗?

传递父节点时,

* 使用JSON输出HTML(result.id.attribute)*

1 id: {**u'im:id': u'422689480'**, u'im:bundleId': u'com.google.Gmail'} Name: Gmail - Google, Inc.

2 id: {u'im:id': u'530755375', u'im:bundleId': u'com.kfactormedia.mycalendarfree'} Name: MyCalendar Free - K-Factor Media, LLC.

3 id: {u'im:id': u'518972315', u'im:bundleId': u'com.click2mobile.textGramFree'} Name: Textgram - Texting with Instagram FREE - click2mobile

4 id: {u'im:id': u'521863802', u'im:bundleId': u'com.appmosys.emoji2free'} Name: Emoji 2 Free - 300+ NEW Emoticons and Symbols - Appmosys

Django模板

<html>
<body>

{% for result in app_data.entry %}


<h3>

    {{ forloop.counter }}
    Id: {{ result.id.attributes }}
    Name: {{ result.title.label }}


{% endfor %}
</h3>
</body>
</html>

编辑以包含视图:

查看

def findAppRank(request,AppId=424909112):

URL="http://itunes.apple.com/us/rss/topfreeapplications/limit=300/genre=6007/json"

r=requests.get(URL)

output=r.content
data=json.loads(output)

AppData=data['feed']

t=get_template('myrank.html')

html=t.render(Context({'app_data': AppData, 'app_id': AppId }))

return HttpResponse(html)

1 个答案:

答案 0 :(得分:0)

您正在寻找slice过滤器。

{{ result.id.attributes|slice:"'im:id'" }}