gpt4 book ai didi

python - 向 Pyramid 下的 jinja2 添加自定义过滤器

转载 作者:太空狗 更新时间:2023-10-30 00:24:29 25 4
gpt4 key购买 nike

这个问题有人问过before但是公认的解决方案(由问题张贴者自己给出)说我们可以直接将新过滤器添加到 jinja2.filter.FILTER。

但是在jinja2 documentation ,建议将过滤器添加到环境中。

我正在 Pyramid 下开发一个应用程序,需要定义我的自定义过滤器并执行以下操作。

from jinja2 import Environment

#Define a new filter
def GetBitValue(num,place):
y = (num >> (place-1)) & 1
return y

env = Environment()
env.filters['getbitvalue'] = GetBitValue

这段代码应该放在哪里?

我尝试将它放在 View 文件中,但显然没有用。

如果我将它放在 __init__.py 中,我如何确保 jinja2 拾取它?我的意思是如何将 env 发送回 Pyramid 下的 jinja2 设置?

最佳答案

假设您使用的是 pyramid_jinja2 ,您可以通过 configurator 实例使用 pyramid_jinja2.get_jinja2_environment() 来访问环境。

然而,显然你也可以register them via the pyramid config file无需直接访问环境:

[app:yourapp]
# ... other stuff ...
jinja2.filters =
# ...
getbitvalue = your_package.your_subpackage:GetBitValue

关于python - 向 Pyramid 下的 jinja2 添加自定义过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10632232/

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