【发布时间】:2015-11-11 10:13:40
【问题描述】:
我正在尝试在我的 Trac 插件的 Genshi 模板中包含一些图像,但它总是只显示替代文本,因为它找不到图像。
我有以下 (X)HTML 代码:
<div>
<img src="file://c:/path/to/image.png" alt="asdf" />
</div>
当我将这段代码与一个简单的html文件一起使用并在浏览器中打开时,图像显示正确,这意味着路径和语法都正确。
但是当我将代码 sn-p 插入 Genshi 模板并在 Trac 中使用时,找不到图像。但是,当我在 Web 浏览器中查看 HTML 源代码并将 URL 复制到新的浏览器选项卡中时,它再次正确显示。这意味着只有服务器找不到图像。
图片在python-egg文件里面的一个目录下,路径直接指向Trac创建的目录,里面还包含我的CSS和HTML文件,这两个文件都加载正确了。在创建 egg 的设置脚本中正确引用了图像。
在服务器上使用 (X)HTML 文档中的图像时,如何引用它们?
有没有一种特殊的方法可以在 Genshi 文档中包含图像? (我还没有找到。)
【问题讨论】:
-
在 Trac 中你应该使用 chrome 相对路径。要从您的环境
htdocs目录提供图像,请使用/chrome/site/image.png,或参阅使用available template variables。对于插件,您应该实现ITemplateProvider。 -
你的意思是,对于一个插件,我应该实现 ITemplateProvider “而不是”使用 chrome 类,还是“另外”?我已经让我的组件实现了 ITemplate 提供程序,并且它返回的路径是正确的。然后我应该自己调用 get_htdocs_dirs(),还是有一种方法可以通过让 Trac 调用 get_htdocs_dirs() 方法来访问 htdocs?
-
我误解了你,我以为你的意思是 chrome 类。现在使用正确的路径它可以工作。我将在下面写一个答案来解释我所做的事情。
标签: html image xhtml trac genshi