有没有办法为Chameleon模板中的${}样式内联字段设置默认值,以便在解析时不会消失?

>>> from chameleon import PageTemplate
>>> template = PageTemplate("<div>Hello ${name}.</div>")
>>> template()
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/chameleon/utils.py", line 404, in __getitem__
    return dict.__getitem__(self, key)
KeyError: 'name'


该文档具有一些复杂的格式,但是我找不到。但是,考虑到很难理解${structure: name}不能逃脱html,而我却可能会错过它。

我想出的最好的方法是在view_config装饰器下为我的金字塔视图函数装饰器...

最佳答案

对于在Chameleon模板表达式中查找默认值或后备选项的任何人,您可以执行以下简单操作:

${variable | 'default'}


但是,请注意,以这种方式设置默认值或后备设置将绕过NameErrors(可能会导致调试复杂)的模板变量。

关于python - 在Chameleon中设置内联替换的默认值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46896668/

10-12 17:18