Django Как искать querydict в шаблоне?
Когда я смотрю в querydict с {{get_copy}}, он показывает
<QueryDict: {'grub_id__in': ['Yelek', 'Tunik', 'Tulum', 'Tshirt']}>
так как я знаю, что как искать querydict
{%for key,val in get_copy.items%}
{{key}}{{val}}
{%endfor%}
но он показывает только одно из значений val
вывод:
grub_id__in Tshirt
Добавьте пробел перед/после "%": {%_ .... _%}
Из QueryDict.items() объектов QueryDict[Django-doc]
Подобно dict.items(), за исключением того, что здесь используется та же логика last-value, что и getitem() и возвращается объект-итератор вместо объекта представления.
А QueryDict.__getitem__(key) как сказано
Возвращает значение для заданного ключа. Если ключ имеет более одного значения, возвращается последнее значение. Вызывает ошибку django.utils.datastructures.MultiValueDictKeyError, если ключ не существует.
.
Так что вы можете использовать QueryDict.getlist(key, default=None) как указано
Возвращает список данных с запрошенным ключом. Возвращает пустой список, если ключ не существует, а значение по умолчанию - None. Гарантированно возвращает список, если предоставленное значение по умолчанию не является списком.
.
В вашем views.py
from django.http import QueryDict
from django.shortcuts import render
def get_copy(request):
data = QueryDict('grub_id__in=Yelek&grub_id__in=Tunik&grub_id__in=Tulum&grub_id__in=Tshirt')
return render(request, 'test.html', {'get_copy':data.getlist('grub_id__in')})
А в вашем templates
{{get_copy}}
Выход
['Yelek', 'Tunik', 'Tulum', 'Tshirt']