Доступ к контекстным переменным, содержащим пробелы
У меня есть словарь python, и я передаю его значения на html-страницу для их отображения.
Я могу получить доступ к значениям словаря, используя {{ value.xxx }}
, где xxx - элемент словаря.
Значения появляются на экране без проблем для имени, возраста и роста.
Однако компонент набора навыков не отображается из-за пробела в тексте.
Как я могу настроить его так, чтобы я мог получить доступ к элементам, содержащим пробел, например, к значению набора навыков, приведенному ниже
Я пробовал добавить знак подчеркивания, например {{ value.skill_set }}
, но это, похоже, не работает.
Dictionary:
dict = {1: {'name': 'John', 'age': '27', 'height': '160', 'skill set': 'running'},
2: {'name': 'Marie', 'age': '22', 'height': '170', 'skill set': 'swimming'}}
Html:
<table class="u-full-width" id="table2">
<thead >
<tr>
</tr>
</thead>
<tbody>
{% for key,value in dict_items.items %}
<tr>
<th scope="row" style="text-align:center">{{ key }}</th>
<td style="text-align:center">{{ value.name }}</td>
<td style="text-align:center">{{ value.age }}</td>
<td style="text-align:center">{{ value.height }}</td>
<td style="text-align:center">{{ value.skill set }}</td>
</tr>
{% endfor %}
</tbody>
</table>
<table class="u-full-width" id="table2">
<thead >
<tr>
</tr>
</thead>
<tbody>
{% for key,value in dict_items.items %}
<tr>
<th scope="row" style="text-align:center">{{ key }}</th>
{% for key_,value_ in value.items %}
<td style="text-align:center">{{ value_ }}</td>
{% endfor %}
</tr>
{% endfor %}
</tbody>
</table>
Шаблоны Django используют точечную нотацию и не существует прямого способа поиска ключа с пробелом. Ваш вопрос уже задавался ранее, и некоторые решения, такие как использование пользовательских фильтров и тегов шаблонов, можно посмотреть здесь: Шаблоны Django: значение ключа словаря с пробелом в нем