我正在使用django开发一个项目。 我正在使用python字典在for循环中显示数据。我根据字典中的要求使用以下代码设置了动态密钥。
abc = {}
for user in users
abc[user] = "some dynamic data"
context = {
'contributors ': abc
}
return render(request, 'contacts.html', context)
我将上面的代码发送到我的模板,以显示每个用户的数据。
{% for contributor in contributors %}
{% for contributor_mp in contributor %}
{{ contributor_mp }}
{% endfor %}
{% endfor %}
我甚至无法在视图中访问我的代码,因为当我尝试序列化词典时遇到错误
error:'long' object has no attribute '_meta'
我在下面用来显示我的abc字典:
json_data = serializers.serialize("json", abc,use_natural_foreign_keys=True)
return HttpResponse(json_data)
所以我用过 json_data = serializers.serialize(“json”,abc [123],use_natural_foreign_keys = True) 返回HttpResponse(json_data)
并得到类似下面的内容(经过验证的json):
[{
"fields": {
"status": 0,
"description": "Fresh & Healthy",
"name": "Fresh & Healthy",
"public": false,
"custom_type": null,
"user": "mpowner",
"image_url":
"course_type": 1,
"type": 1
},
"model": "mealplan",
"pk": 140
}, {
"fields": {
"status": 0,
"description": "evening snacks",
"name": "evening snacks",
"public": false,
"custom_type": "health and taste",
"user": "mpowner",
"image_url":
"course_type": 1,
"type": 1
},
"model": "mealplan",
"pk": 155
}]
现在我的问题是,当我发送给我的模板时,我得到了一个
error:'long' object is not iterable
由于这是我在python中的第一个项目,我基本上是一个php开发人员,我感到非常不舒服面对这些错误。请帮助解决这个并建议一些其他方式来使用像数组(多维一个)蟒。
答案 0 :(得分:4)
要在django模板中迭代dict,您需要使用items
:
{% for contributor, dynamic_data in contributors.items %}
{{ user }} {{ dynamic_data }}
{% endfor %}