在 Genshi/Trac 模板中包含图像
Including images in a Genshi/Trac template
我试图在我的 Trac 插件的 Genshi 模板中包含一些图像,但它总是只显示替代文本,因为它找不到图像。
我有以下 (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 文档中包含图像? (我还没找到。)
感谢 RjOllos 和 this site 的评论,我能够通过尝试所有 URL 类型来修复它。虽然它说插件是 /chrome/<pluginname>
,但实际上只有 /chrome
有效。 请参阅下面的编辑! 所以完整的 URL 就是 <ip>:<port>/chrome/path/to/image.png
。
编辑: 我发现我实际上使用了 /chrome/pluginname
版本,只是我没有使用我的插件名称 "pluginname"。请参阅下面的评论。看起来 /chrome/pluginname
实际上应该是 /chrome/htdocsname
或类似的东西,以防您在实现 ITemplateProvider 时使用不同的名称而不是插件名称。在我的例子中,我将其命名为 images
,它与文件夹同名。 编辑结束
我犯的另一个错误是忘记了开头的斜杠 (chrome/path/to/image.png
),这导致 Trac assemble 将 URL 变为 <ip>:<port>/<current page>/chrome/path/to/image.png
。
我试图在我的 Trac 插件的 Genshi 模板中包含一些图像,但它总是只显示替代文本,因为它找不到图像。
我有以下 (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 文档中包含图像? (我还没找到。)
感谢 RjOllos 和 this site 的评论,我能够通过尝试所有 URL 类型来修复它。虽然它说插件是 /chrome/<pluginname>
,但实际上只有 /chrome
有效。 请参阅下面的编辑! 所以完整的 URL 就是 <ip>:<port>/chrome/path/to/image.png
。
编辑: 我发现我实际上使用了 /chrome/pluginname
版本,只是我没有使用我的插件名称 "pluginname"。请参阅下面的评论。看起来 /chrome/pluginname
实际上应该是 /chrome/htdocsname
或类似的东西,以防您在实现 ITemplateProvider 时使用不同的名称而不是插件名称。在我的例子中,我将其命名为 images
,它与文件夹同名。 编辑结束
我犯的另一个错误是忘记了开头的斜杠 (chrome/path/to/image.png
),这导致 Trac assemble 将 URL 变为 <ip>:<port>/<current page>/chrome/path/to/image.png
。