代码之家  ›  专栏  ›  技术社区  ›  Jonathan

Django中不存在的模板变量

  •  0
  • Jonathan  · 技术社区  · 8 年前

    测试或确保所有模板变量实际上都存在的最佳实践是什么。

    假设我们有以下模板

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

    Django Unitest Checking Value Of Template Variable

    string_if_invalid 如中所述 documentation . 但这只能用于调试目的。

    任何关于如何最好地避免这种情况的见解都是有帮助的!

    :假设不存在的属性是一个bug。(我把变量拼错了,因此它显示为一个空字符串)。

    编辑2 :这个问题有很多更好的答案: https://stackoverflow.com/a/7854404/554903

    2 回复  |  直到 6 年前
        1
  •  0
  •   Greatxam Darthart    8 年前

    您可以使用内置模板标记 default_if_none .

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

        2
  •  0
  •   Jonathan    8 年前

    string_if_invalid . 所以将值设置为 INVALID 无效 .

    因为这些设置只在您的测试环境中可用,所以您永远不会冒得到单词的风险 无效 投入生产。