在Chameleon中设置内联替换的默认值

2024-06-16 10:14:30 发布

您现在位置:Python中文网/ 问答频道 /正文

有没有一种方法可以为变色龙模板中的${}样式的内联字段设置一个默认值,这样当它解析时就不会死掉

>>> 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_configdecorator下为我的金字塔视图函数提供一个decorator


Tags: 方法namefromimportdiv模板mosthello
1条回答
网友
1楼 · 发布于 2024-06-16 10:14:30

对于在Chameleon模板表达式中查找默认或回退的任何人,可以执行以下简单操作:

${variable | 'default'}

但是,请注意,以这种方式设置默认值或回退将绕过模板变量的NameErrors,这可能会使调试复杂化

相关问题 更多 >