2012-08-05 23 views
1

我正在使用Django,並使用sitemap框架來構建我的xml站點地圖。谷歌的搜索引擎優化指南建議有一個HTML網站地圖除了一個XML站點地圖,所以我建立一個。如何將XSLT引用插入到Django生成的站點地圖

這就是說,我想簡單地構建一個XSLT並從sitemap xml引用它。基本上,我想這樣是這樣的:

  1. 轉到/sitemap.xml,您將看到XML站點地圖
  2. 轉至/網站導航和你擔任相同的XML,只能用一個參考這將導致html呈現的xsl表單。

這應該很容易維護,因爲我不需要做任何事情來維護html頁面。

有關如何使用django做到這一點的任何想法?我現在最好的想法是覆蓋默認的站點地圖視圖,並使用python在生成的xml中插入xsl引用。有沒有其他方法?

回答

1

只需自定義網站地圖模板:https://docs.djangoproject.com/en/1.3/ref/contrib/sitemaps/#template-customization,其中包含html站點地圖的特殊url,並引用報頭中的XSLT。

默認模板在Django /的contrib /網站地圖/模板https://github.com/django/django/tree/master/django/contrib/sitemaps/templates

當然,你將它們添加到自己的模板文件夾。

+0

完美,可能比讓xslt參與更簡單!我會稍後再試一試,一旦我有機會開始工作就接受它。 – Dave 2012-08-06 23:21:07

+0

您是否碰巧知道如何在視圖上設置內容類型?我讓它呈現html,但默認視圖返回w /內容類型的XML,而不是作爲結果由瀏覽器呈現。 – Dave 2012-08-08 00:35:02