Linux上的CherryPy/Mako路径问题,包含%include(适用于Windows)

2024-09-30 14:15:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一份包含以下文件的申请

/path_to_app
   app.py
   /html
      page.html
   /js
      page.js

在应用程序副本我加载并呈现一个mako模板。模板文件是页面.html在html目录中。该页包含一行:

^{pr2}$

它的目的是查找并包含适当的javascript页面(在对该文件执行mako替换之后)。这在我的Windows开发机器上运行得很好,但是当我部署到ubuntulinux服务器进行进一步测试时,它会抛出错误:TemplateLookupException:templateuri”。/js/fund_第js页“无效-它不能在根路径之外是相对的。在

更改include使其成为应用程序根的绝对值:

     <%include file="/js/page.js" />

不起作用,返回消息:TemplateLookupException:Cant locate template for uri u'/js/fund_第js页'。在

要在Linux上使用这个mako include,需要做什么改变?是否可以用一种既兼容Windows又兼容Linux的方式来表达它?在


Tags: 文件path模板app应用程序includelinuxwindows
2条回答

我用一个简单的方法解决了这个问题:将包含的js文件移动到与调用它的html文件相同的目录中。在

您应该将“js”的父目录添加到TemplateLookup实例的directories参数中。例如:

mako_lookup = TemplateLookup(directories=[ root + "/project/templates",
                                           root + "/public"])

相关问题 更多 >

    热门问题