gpt4 book ai didi

python - 根据文件扩展名选择 Mako 预处理器?

转载 作者:太空狗 更新时间:2023-10-30 00:08:14 26 4
gpt4 key购买 nike

我想以某种方式检测 mako.lookup.TemplateLookup,以便它仅对某些文件扩展名应用某些预处理器。

具体来说,我有一个haml.preprocessor,我想将其应用于文件名以.haml 结尾的所有模板。

谢谢!

最佳答案

您应该能够自定义 TemplateLookup 以获得您想要的行为。

customlookup.py

from mako.lookup import TemplateLookup
import haml

class Lookup(TemplateLookup):
def get_template(self, uri):
if uri.rsplit('.')[1] == 'haml':
# change preprocessor used for this template
default = self.template_args['preprocessor']
self.template_args['preprocessor'] = haml.preprocessor
template = super(Lookup, self).get_template(uri)
# change it back
self.template_args['preprocessor'] = default
else:
template = super(Lookup, self).get_template(uri)
return template

lookup = Lookup(['.'])
print lookup.get_template('index.haml').render()

index.haml

<%inherit file="base.html"/>

<%block name="content">
%h1 Hello
</%block>

base.html

<html>
<body>
<%block name="content"/>
</body>
</html>

关于python - 根据文件扩展名选择 Mako 预处理器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8300752/

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