可以在Mako中包含%文件是否存在文件?

时间:2014-01-19 16:42:05

标签: python mako

我正在使用<%include file="special_message.html" />在页面上包含任何所需的特殊消息(例如,有关系统停机的消息)。

我希望能够通过将消息HTML放入special_message.html文件来打开消息,并通过删除文件将其关闭。

但是,如果删除该文件,则Mako会失败并显示cannot locate template消息。有没有办法(没有使用空文件)告诉Mako如果找不到%include文件,只需要包含任何内容?

2 个答案:

答案 0 :(得分:0)

这个原始的Python块可能会起作用......

<%
    from mako.exceptions import TemplateLookupException

    try:
        tmpl = self.get_template("special_message.html")
    except TemplateLookupException:
        pass
    else:
        tmpl.render_context(context)
%>

答案 1 :(得分:0)

使用:

<%include file="special_message.html" />

您可以通过将消息HTML放入文件中来打开消息

然后您可以通过清除文件来关闭消息

echo > special_message.html

with open('special_message', 'w') as f:
    f.write('')