#javascript #django #parsing #dictionary #django-templates
#javascript #django #синтаксический анализ #словарь #django-шаблоны
Вопрос:
У меня есть querydict, который я передаю в шаблон Django. Этот querydict может выглядеть следующим образом:
<QueryDict: {u'VAR1': [u'val1', u'val2', u'val3'], u'VAR2': u'val4', u'VAR3': [u'val5'], u'VAR4': []}>
-
Словарь может быть больше, короче, но он всегда будет содержать поле, внутри которого есть список, и этот список также может быть пустым.
-
В предыдущем примере можно увидеть пару «ключ-значение», содержащую список («VAR1-val1_2_3»), пару «ключ-значение», содержащую пустой список («VAR4-[]»), пару «ключ-значение», содержащую список с одним элементом («VAR3-val5») и пара «ключ-значение», содержащая строку («VAR2-val4»)
-
В шаблоне я знаю имена ключей всех записей в querydict
Я хотел бы проанализировать весь список из querydict в переменную Javascript, чтобы он выглядел так:
var trial = ['val1', 'val2', 'val3']
для ключа «VAR1»
или
var trial = ['val5']
для ключа «VAR3»
или
var trial = []
для ключа «VAR4»
в зависимости от того, какой исходный список в словаре
Я перепробовал много вариантов, но мне это не удалось, пожалуйста, помогите?
Комментарии:
1. Пожалуйста, поделитесь со мной запросом django, который вы написали для получения Querydict?
Ответ №1:
Не передавайте querydict непосредственно в шаблон. Вместо этого преобразуйте его в строку JSON:
data = json.dumps(dict(my_querydict))
(Сначала вам нужно преобразовать его в dict, чтобы обойти специальную обработку querydict многозначных ключей.)
Теперь ваш JS может получить к нему доступ в вашем шаблоне:
var data = {{ data|safe }};
var var1 = data.var1;