使用Django生成RSS

2021-08-22 11:15:04 字數 1049 閱讀 3345

感謝django強大的syndication feed framework,我可以很輕鬆地實現rss的生成工作。fallever的rss可以從每個blog的右下角找到。django的官方文件見這裡。文件中的第乙個example並不適合我,fallever現在的情況是提供每個blogger乙個rss檔案,因此需要傳引數,情況比較類似「a complex example」那一段。

使用django的sff來生成rss太簡單了。有下面幾個步驟:

一、配置urlconf:

(r'^feeds/(?p.*)/rss.xml$', 'django.contrib.syndication.views.feed', )

url表示式中,url引數實際上允許很多個「/」存在。在fallever中的用法是:/feeds/blog/} /rss.xml.那麼django會把「feeds/」後面那一大截當作url的引數傳進去生成的機器(姑且這樣叫吧),shortcut是代表乙個 blog的簡稱。注意,"feeds/"作為rss路徑的開頭是必須的。

二、寫feeds。

你已經留意到了urlconf裡面的第三個引數吧。feeds是乙個字典,key是feed的型別,value是處理該型別的類。fallever的第乙個字典是:

feeds =

這個字典說「feeds/」後面凡是跟著blog字樣的路徑全由recent_blog_entry這個類來處理。在blog後面跟著的引數從**可以找 回來呢,我一開始就有這樣的問題,原來在這裡:重寫feeds類的get_object(self, bits):bits引數就是把blog後面的引數切成了陣列,如/feeds/blog/jeff/rss.xml切割後bits引數是: ['jeff','rss.xml']在這裡我們只需要拿我們有用的元素就可以了。rss.xml這一節東西我是用來哄ie的。

三、在recent_blog_entry類裡重寫feeds的幾個方法:title,link,description,items,items_link。具體的在這裡不說了,還有需要為這一次的feed加上兩個簡單的模板。都去參考文件看吧 :)

原文出處:

Rome自動生成Rss

channeleitem類,具體 author jackzhang public class channeleitem extends channelitem public void setenclosure string enclosure public void testbuildobject ...

完整的動態生成RSS

language vbscript codepage 65001 response.charset utf 8 session.codepage 65001 dimdb,conn,rs setconn server.createobject adodb.connection db db1.mdb c...

RSS生成工具 服務推薦

時至2022,關於碎片化閱讀 資訊焦慮的討論仍在繼續且似乎並沒有形成廣泛共識的解決辦法。而研究生期間主要研究方向就是推薦系統且未來也大概率從事相關崗位的我,對以演算法為中心的資訊獲取方式可以說是又愛又恨。一方面,我認為必須正視推薦演算法在資訊 時代的作用。另一方面我也對推薦演算法帶來的資訊繭房等問題...