#django
Вопрос:
В Django, как default
и default_if_none
вести себя, если переменная отсутствует в контексте запроса?
Например, возьмите эту точку зрения:
def example_view(request):
return render(request, 'example.html', {'foo': 'bar'})
И возьмите этот соответствующий шаблон Django:
{{ missing_variable|default:"default value" }}
<br>
{{ missing_variable|default_if_none:"default_if_none value" }}
Что здесь будет отображаться?
Ответ №1:
default
использует запасное значение, если переменная является ложной или если она отсутствует:
{{ missing_variable|default:"default value" }}
-> рендеринг > default value
.
Однако default_if_none
используется только запасное значение, если переменная существует и есть None
, она не использует запасное значение, если переменная отсутствует в контексте запроса:
{{ missing_variable|default_if_none:"default_if_none value" }}
-> ничего не отображает.