python - Django中不存在的模板变量
问题描述
测试或确保所有模板变量实际上都存在的最佳实践是什么。
假设我们有以下模板
<html>
<div>{{ existing_object.non_existing_attribute }}</div>
</html>
我们有一个现有的对象。所以我们不能像下面的答案那样真正测试响应上下文:Django Unitest Checking Value Of Template Variable
string_if_invalid
如文档中所述。但这应该只用于调试目的。
关于如何最好地避免这种情况的任何见解都会有所帮助!
编辑:让我们假设不存在的属性是一个错误。即我拼错了变量,因此它显示为空字符串。
Edit2:这个问题有很多更好的答案:https ://stackoverflow.com/a/7854404/554903
解决方案
您可以使用内置模板标签default_if_none
。
{{ object.attribute|default_if_none:"Nothing" }}
推荐阅读
- html - Bootsrap 表在行中断字
- python - 如何比较斜率线性回归
- python - pytest 没有 django “lazy_django.py 没有 Django 设置”
- headless - 如何在 Selenium c# 中为 Headless Browser 处理打印对话框?
- python - 根据字符串 Python 上的字符查找矩阵上的位置并检索该位置的值
- javascript - 如何根据 id 更新对象
- javascript - 如何通过jquery将excel的属性添加到样式标签?
- java - 序列化是否需要原生机制?
- android - LocalBroadcastManager 的任何替代方案,例如 LiveData?
- java - 我应该如何使用 keycloak.security-constraints 中的参数制作模式