Django: Как мне получить массив из QueryDict в шаблоне? - PullRequest
6 голосов
/ 02 февраля 2010

У меня есть следующий объект QueryDict в моем request.session.

<QueryDict: {u'category': [u'44', u'46'], u'cityID': [u'null'], u'countryCode': [u''], u'mapCenterLng': [u'2.291300800000009'], u'mapZoom': [u'12'], u'mapCenterLat': [u'47.10983460000001'], u'price_range': [u''], u'textbox': [u'']}>

В шаблоне попробуйте получить массив категорий, используя:

{{request.session.lastrequest.category}}

но это дает мне только последнее значение массива. Как я могу получить весь массив?

Спасибо

Июль

Ответы [ 2 ]

19 голосов
/ 02 февраля 2010

Вы не можете. Вам нужно вызвать .getlist('category'), но вы не можете вызывать методы с параметром в шаблоне.

0 голосов
/ 17 января 2017

Мне также требовался доступ к QueryDict, поэтому я добавил фильтр, и он работал для моих нужд.

Где бы вы ни регистрировали фильтры вашего приложения:

#/templatetags/app_filters.py
from django import template
register = template.Library()

# Calls .getlist() on a querydict
# Use: querydict | get_list {{ querydict|get_list:"itemToGet" }}
@register.filter
def get_list(querydict, itemToGet ):

    return querydict.getlist(itemToGet)

В шаблоне:

{% load app_filters %}

{% for each in form.data|get_list:"itemYouAreInterestedIn" %}
     {{each}}
{% endfor %}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...