如何通过Django模板中dictionary 2的键来获取dictionary 1的值



我有两个字典dict1和dict2。我试图通过dict1键到dict2键来获取值,但一无所获,有没有办法通过dict1密钥来获取dict2的值?两本字典总是一样长?

dict1 = {0:[1,2,3],1:[4,5,6]}
dict2 = {0:'data1',1:'data2'}
{% for key, value in dict1.items %}
{{dict2.key}}
{% endfor %}

您需要一个自定义模板标签:

myapp/templatetags/myapp_extras.py:源1,源2

from django.template.defaulttags import register
@register.filter
def get_item(dictionary, key):
return dictionary.get(key)

template.html

{% extends 'base.html' %}
{% load myapp_extras %}
{% block content %}
{% for key, value in dict1.items %}
<td>Value 1: {{ value }}</td>
<td>Value 2: {{ dict2|get_item:key }}</td>
<br>
{% endfor %}
{% endblock content%}   

settings.py:源

TEMPLATE_LOADERS = (
'django.template.loaders.app_directories.load_template_source',
)

但是,既然两个字典都有相同的长度和相同的关键字,为什么不把它们都嵌套起来呢?

data = {
0 : {'list':[1,2,3], 'data':'data1'},
1 : {'list':[4,5,6], 'data':'data2'}
}

{% for key, value in data.items %}
{{value.list}}
{{value.data}}
<br>
{% endfor %}

相关内容

  • 没有找到相关文章

最新更新