Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 哪里放置Mako过滤器_Python_Mako - Fatal编程技术网

Python 哪里放置Mako过滤器

Python 哪里放置Mako过滤器,python,mako,Python,Mako,我编写了一个添加HTML换行符的Mako过滤器: <%! def makelinebreaks(text): return text.replace("\r", "<br/>") %> 如果我把它放在模板文件中,它就会工作。但是如果我想在多个模板中使用它,那么我必须重新声明它。是否有任何文件可用于放置代码,以使筛选器位于我所有模板的范围内,而不是将其作为脚本放置在使用的每个模板中?假设您已在名为filters.mako的模板中定义此筛选器。然

我编写了一个添加HTML换行符的Mako过滤器:

<%!
    def makelinebreaks(text):
        return text.replace("\r", "<br/>")
%>


如果我把它放在模板文件中,它就会工作。但是如果我想在多个模板中使用它,那么我必须重新声明它。是否有任何文件可用于放置代码,以使筛选器位于我所有模板的范围内,而不是将其作为脚本放置在使用的每个模板中?

假设您已在名为
filters.mako的模板中定义此筛选器。然后在希望使用过滤器的模板中,只需使用标记导入
filters.mako

或者,对于相当于导入筛选器的内容,请使用:

<%namespace file="filters.mako" name="filters"/>
<%namespace file="filters.mako" import="makelinebreaks"/>
<%namespace file="filters.mako" name="filters"/>
${something | filters.makelinebreaks}