내보기 코드는 다음과 기본적으로 같습니다Django 템플릿에서 변수를 사용하여 dict에 액세스하고 있습니까?
context = Context()
context['my_dict'] = {'a': 4, 'b': 8, 'c': 15, 'd': 16, 'e': 23, 'f': 42 }
context['my_list'] = ['d', 'f', 'e', 'b', 'c', 'a']
그리고 내가 내 장고 템플릿에서 할 싶은 것은 이것이다 :
<ul>
{% for item in my_list %}
<li>{{ item }} : {{ my_dict.item }}</li>
{% endfor %}
</ul>
내가 출력이 싶습니다
<ul>
<li> d : 16 </li>
<li> f : 42 </li>
<li> e : 23 </li>
<li> b : 8 </li>
<li> c : 15 </li>
<li> a : 4 </li>
</ul>
그러나 {{ my_dict.item }}
을 통한 변수 이름에 의한 사전 참조는 실제로 작동하지 않습니다. 내부적으로 my_dict[item]
대신 my_dict['item']
을 수행하고있는 것으로 의심됩니다. 이 문제를 해결할 수있는 방법이 있습니까?
, 내가 항상 말을보기에서 더 많은 코드를 추가 할 수 있습니다 상황에 맞는 [ 'my_derefernced'] = [(V, 문맥 [my_dict] [V])에서 V에 대한 컨텍스트 [ 'my_list']]하지만 그렇게하지 않아도됩니다. 그 딕트는 꽤 클 수 있습니다. – slacy
이 훌륭한 해결책을보십시오 : http://stackoverflow.com/questions/35948/django-templates-and-variable-attributes – fiatjaf
dicts가 큰 경우 왜 발전기를 사용하지 않습니까? context : 'my_dereferenced'] = ((컨텍스트 [my_list]] 컨텍스트에서 v의 컨텍스트 [my_dict] [v]) ' – user193130