шаблон django отображает словарь питона на таблице начальной загрузки

Вы также можете использовать JS, если необходимо

var winHeight = window.innerHeight    || 
document.documentElement.clientHeight || 
document.body.clientHeight;

var pageHeight = $('body').height();
if (pageHeight < winHeight) {
    $('.main-content,').css('min-height',winHeight)
}
0
задан ziggy 4 March 2019 в 20:08
поделиться

1 ответ

Проблема в том, что в этом коде:

args = {'form': form, 'Residential': zones['Residential'],
        'School': zones['School'], 'Religious': zones['Religious'],
        'Childcare': zones['Childcare'], 'Park': zones['Park']}
return render(request, self.template_name, args)

нет переменной с именем args, передаваемой шаблону. Переменные, доступные в шаблоне, являются в точности ключами словаря, который вы здесь назвали args - так form, School, Religious, Childcare и Park. Шаблон ничего не знает об имени переменной, которое вы выбрали для использования в самом словаре (на самом деле здесь нет ничего необычного в том, чтобы передавать здесь словарь словаря без имени переменной - хотя вполне законно поместить его в переменную, если это более удобно) .

Таким образом, условия {% if args %} всегда интерпретировались как False, потому что args не существует в том, что касается шаблона.

И есть еще одна ошибка: в языке шаблонов Django, в отличие от самого Python, доступ к любому свойству любого рода осуществляется через точечную запись, а не в квадратных скобках. Так что Childcare[0] не будет работать вообще - вместо этого вам нужно сделать Childcare.0.

В официальной документации есть много информации о языке шаблонов Django. .

0
ответ дан Robin Zigmond 4 March 2019 в 20:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: