python - язык - Настройка Django для вывода тега шаблона по умолчанию, когда переменная равна None?




подключение шаблонов django (2)

«Явный лучше, чем неявный»

Подумайте о том, насколько вы были бы в ярости, когда вещи не окажутся должным образом, потому что вы забыли, что вы включили настройку «показать все с ложным значением как пустую строку».

Если вы обнаружите, что часто используете фильтр default_if_none возможно, вам стоит подумать о том, чтобы изменить кастинг None на '' ПЕРЕД тем, как он передается в шаблон.

Ваш шаблон будет проще, и вы решите сделать это решение, чтобы выровнять нулевые значения.

Я ищу настройку django или программный способ сделать все теги шаблонов django отображающими пустую строку, когда значение равно None. Например, представьте, что у меня есть шаблон django:

{{cat}} chases {{mouse}}

если обе мыши и кошки не равны, они будут отображаться как:

None chases None

Я знаю, что могу установить каждый из них, используя {{cat|default:""}} или {{mouse|default_if_none:""}}

Тем не менее, я ищу какую-то настройку, которая позволила бы мне установить значение по умолчанию для всех тегов без явного добавления |default:"" к каждому тегу.

Я также знаю настройку TEMPLATE_STRING_IF_INVALID . Однако этот параметр применяется только к неверным строкам. Нет считается действительным.


Такого не существует. Вот почему существуют фильтры по default и default_if_none . Это особенность ; это заставляет задуматься о том, что вы делаете, вместо того, чтобы полагаться на какое-то поведение, которое часто вводит в заблуждение. Если существует вероятность того, что переменная будет None , тогда вы должны планировать эту непредвиденную ситуацию. Если переменная всегда должна иметь некоторое значение, то «Нет» указывает на то, что что-то не так. Если по умолчанию нужно было просто отобразить пустую строку, вы не узнаете, не определено ли значение или на самом деле это пустая строка. Напишите когерентный код и забудьте о ярлыках.





django-templates