Вы также можете использовать JS, если необходимо
var winHeight = window.innerHeight ||
document.documentElement.clientHeight ||
document.body.clientHeight;
var pageHeight = $('body').height();
if (pageHeight < winHeight) {
$('.main-content,').css('min-height',winHeight)
}
Проблема в том, что в этом коде:
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. .