我想在我的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? –
我誤解了你的意思,我以爲你的意思是鉻課。現在使用它的正確路徑。我會在下面寫一個答案來解釋我所做的。 –