Несуществующие переменные шаблона в Django - PullRequest
0 голосов
/ 28 сентября 2018

Какова лучшая практика для тестирования или проверки того, что все переменные шаблона действительно существуют.

Предположим, что у нас есть следующий шаблон

<html>
  <div>{{ existing_object.non_existing_attribute }}</div>
</html>

У нас есть существующий объект.Поэтому мы не можем на самом деле протестировать контекст ответа, как в следующем ответе: Django Unitest Проверка значения переменной шаблона

Существует string_if_invalid, как описано в документации .Но это должно использоваться только для целей отладки.

Любое понимание того, как лучше всего избежать этого, будет полезно!

Редактировать : Предположим, что несуществующий атрибут является ошибкой.Т.е. я неправильно написал переменную, из-за этого она отображается как пустая строка.

Ответы [ 2 ]

0 голосов
/ 25 октября 2018

Я думаю, что правильным способом сделать это было бы проверить определенные настройки и установить значение для настройки string_if_invalid.Так что установите значение на что-то вроде INVALID.И когда вы получите ответ, убедитесь, что шаблон не содержит INVALID.

Поскольку настройки будут доступны только в вашей тестовой среде, вы никогда не рискуете получить слово INVALID в производстве.

0 голосов
/ 28 сентября 2018

Вы можете использовать встроенный шаблон тега default_if_none.

{{ object.attribute|default_if_none:"Nothing" }}

...