我想在我的Trac插件的Genshi模板中包含一些图像,但它总是只显示替代文字,因为它找不到图像。在Genshi/Trac模板中包含图像
我有以下(X)的HTML代码:
<div>
<img src="file://c:/path/to/image.png" alt="asdf" />
</div>
当我使用此代码与一个简单的HTML文件,并在浏览器中打开,显示正确的图像,这意味着这两个路径和语法是正确的。
但是,当我将代码片段插入Genshi模板并在Trac中使用它时,无法找到图像。但是,当我查看Web浏览器中的HTML源代码并将URL复制到新的浏览器选项卡时,它将再次正确显示。这意味着只有服务器找不到图像。
图像位于python-egg文件内的目录中,路径直接指向由Trac创建的目录,该目录也包含我的CSS和HTML文件,这两个文件都已正确加载。在创建鸡蛋的设置脚本中正确引用了图像。
如何在使用服务器时在(X)HTML文档中引用图像?
在Genshi文档中是否有特殊的方法来包含图像? (我还没找到)
在Trac中,您应该使用相对于铬的路径。要从环境'htdocs'目录中提供图像,请使用'/ chrome/site/image.png',或者参见使用[可用模板变量](http://trac.edgewall.org/browser/tags/trac- 1.0.9/TRAC /模板/ about.html?标记= 38#L33)。对于插件,您应该实现[ITemplateProvider](http://trac.edgewall.org/wiki/TracDev/PluginDevelopment/ExtensionPoints/trac.web.chrome.ITemplateProvider)。 – RjOllos
你的意思是,对于一个插件,我应该实现ITemplateProvider“而不是”使用铬类,或“另外”?我已经有我的组件实现了ITemplate提供程序,并且它返回的路径是正确的。我应该自己调用get_htdocs_dirs()吗,还是有一种方法可以让Trac调用get_htdocs_dirs()方法来访问htdocs? –
我误解了你的意思,我以为你的意思是铬课。现在使用它的正确路径。我会在下面写一个答案来解释我所做的。 –