为什么Mako找不到包含它的模板旁边的模板?

use*_*713 5 python linux mako

好的,在python中运行:

from mako.lookup import TemplateLookup
from mako.template import Template
mylookup = TemplateLookup(directories=['/home/user/webapps/app/www/templates/'])
mytemplate = Template(filename='/home/user/webapps/app/www/templates/content.html.mako', lookup=mylookup)
print (mytemplate.render(title="Title", content={'hi'}))
Run Code Online (Sandbox Code Playgroud)

当这是content.html.mako的开头

## content.html.mako
<%inherit file="frame.html.mako"/>
Run Code Online (Sandbox Code Playgroud)

给我这个:

mako.exceptions.TemplateLookupException: Cant locate template for uri '/home/user/webapps/app/www/templates/frame.html.mako'
Run Code Online (Sandbox Code Playgroud)

frame.html.mako它和这里的目录是一样的content.html.mako,这里发生了什么?

use*_*713 7

发布后我发现如果第4行是mytemplate = mylookup.get_template('content.html.mako')相反的.

  • 但如果您的模板包含另一个具有相对路径的模板,mako 仍然无法工作。 (2认同)