gpt4 book ai didi

python - 猎豹模板过滤器

转载 作者:太空宇宙 更新时间:2023-11-03 19:24:19 26 4
gpt4 key购买 nike

很抱歉,如果这个问题听起来很幼稚。我有一个猎豹模板,例如:

#filter None
<html>
<body>
$none should be ''
$number should be '1'
</body>
</html>
#end filter

with namespace = {'none': None, 'number': 1}
所以基本上我想将所有 None 和非字符串值分别转换为 '' 和字符串。根据猎豹的文档:http://www.cheetahtemplate.org/docs/users_guide_html_multipage/output.filter.html ,我想要的是默认过滤器。这不是我在开头加上 #filter None 所做的吗?怎么不起作用呢?

请帮我解决这个问题。谢谢

编辑:
为了更清楚地说明,基本上我希望它通过这个简单的 if 测试:

#filter None
<html>
<body>
#if $none == '' and $number == '1':
<b>yay</b>
#end if
</body>
</html>
#end filter

所以如果成功的话我应该看到的就是

最佳答案

为了解释您得到的结果,我们来定义一下:

def filter_to_string(value):
if value is None:
return ''
return str(value)

假设这是我们的过滤器。现在,让我们天真地了解一下 Cheetah 是如何进行处理的(它比这更复杂一些)。您得到的结果将来自:

>>> "<html>\n<body>\n" + \
filter_to_string(ns['none']) + " should be ''\n" + \
filter_to_string(ns['number']) + " should be '1'\n</body>\n</html>\n"
"<html>\n<body>\n should be ''\n1 should be '1'\n</body>\n</html>\n"

其中 ns 是命名空间。

鉴于此,您的结果仍然令您感到惊讶吗?

关于python - 猎豹模板过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8735216/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com