Python 用于动态显示字典的标记连接
我有一本词典词典从我的视图中返回。在模板中,我想访问特定的密钥。我该怎么做Python 用于动态显示字典的标记连接,python,django,django-templates,Python,Django,Django Templates,我有一本词典词典从我的视图中返回。在模板中,我想访问特定的密钥。我该怎么做 {% for a in applications %} {{ dict_.a.id}} {% endfor %} 从视图: context = { 'applications': applications, 'dict_': count_dict } return render(request, 'applications/map.html', context) 我需要去看吗? 例如 {{dict}
{% for a in applications %}
{{ dict_.a.id}}
{% endfor %}
从视图:
context = {
'applications': applications,
'dict_': count_dict
}
return render(request, 'applications/map.html', context)
我需要去看吗?
例如
{{dict}}+{a.id}
更新。以下是我的看法:
def MapView(request):
applications = Application.objects.values(
'name', 'id', 'icon_name').filter(organization_id=1).order_by('name')
context = {
'applications': applications,
'devices_count': [(a, devices.filter(id=a['id']).count()) for a in applications]
}
return render(request, 'applications/map.html', context)
Django的模板被刻意限制,以便于执行这样的字典查找,或使用参数进行函数调用。原因是业务逻辑最好在视图中编写,而不是在模板中编写
例如,可以在视图中进行映射,如:
context = {
'app_counts': [(a, count_dict[a.id]) for a in applications]
}
return render(request, 'applications/map.html', context)
然后,您可以使用以下工具渲染此内容:
{% for app, count in app_counts %}
{{ app }}: {{ count }}
{% endfor %}
Django的模板被刻意限制,以便于执行这样的字典查找,或使用参数进行函数调用。原因是业务逻辑最好在视图中编写,而不是在模板中编写
例如,可以在视图中进行映射,如:
context = {
'app_counts': [(a, count_dict[a.id]) for a in applications]
}
return render(request, 'applications/map.html', context)
然后,您可以使用以下工具渲染此内容:
{% for app, count in app_counts %}
{{ app }}: {{ count }}
{% endfor %}
虽然可以创建模板标记,但不建议这样做。Django的模板故意不允许索引,因为业务逻辑应该写在视图中,而不是写在模板中。从视图返回的方式写在视图中。我想要访问字典的方式,不是模板的一部分吗?我返回多个字典您可以在视图中进行映射。您的意思是序列化为json数据并返回整个json?如果你能在这个网站上共享一个链接,我将不胜感激。不,你只是简单地通过字典引导每个应用程序。虽然你可以制作模板标签,但不建议这样做。Django的模板故意不允许索引,因为业务逻辑应该写在视图中,而不是写在模板中。从视图返回的方式写在视图中。我想要访问字典的方式,不是模板的一部分吗?我返回多个字典您可以在视图中进行映射。您的意思是序列化为json数据并返回整个json?如果你能在这个网站上共享一个链接,我将不胜感激。不,你只需通过字典为每个应用程序提供通道。