增加rss全文输出功能

今天在用Google Webmaster功能时,发现上面有个订阅数的栏目,我的是0,呵呵,很显然,因为我的博客还没有rss嘛,于是就想着搞一个。

当想到这个问题时,我想到的是要去学xml!呵呵,我都准备去找python基础教程去了。现在想想,rss的实现应该有两种方式:

1.每次更新生成静态的rss.xml文件,这样可以减小服务器压力,但是要去考虑如何生成并写入xml文件。

2.用url映射/feed这样可以动态生成,不用手动更新,不用写文件,只用动数据库就好了,但是要每次请求都要读数据库,文章多了会不会有性能问题,可以设置限制,比如说30篇。

我还是看看别人怎么实现的吧,上次写那个Getsvn就是为了下载一个博客的源码,我去看了下,是后者,但是怎样生成返回xml格式呢?原来和普通网页一样啊,用模板,我的模板是这样的:

<?xml version="1.0" encoding="utf-8"?> <rss version="2.0"> <channel> <title><![CDATA[{{blog.title}}]]></title> <description><![CDATA[{{blog.description}}]]></description> <script type="text/javascript" src="//sats.s3.bitiful.net/django-blog/static/scripts/shCore.js"></script> <script type="text/javascript" src="//sats.s3.bitiful.net/django-blog/static/scripts/shBrushPython.js"></script> <link type="text/css" rel="stylesheet" href="//sats.s3.bitiful.net/django-blog/static/styles/shCoreDefault.css"/> <script type="text/javascript">SyntaxHighlighter.all();</script> <link>http://lerry.org</link> {% for post in posts %} <item> <title><![CDATA[{{post.title}}]]></title> <link>http://lerry.org{{post.url}}</link> <pubDate><![CDATA[{{post.post_time[0:19]}}]]></pubDate> <description> <![CDATA[ 作者保留一切权利,转载请注明链接:http://lerry.org{{post.url}}

                <content>{{post.content}}</content>


            ]]>
        </description>                
    </item>
    {% endfor %}
</channel>

</rss> ```

1,772 views, since 2011-04-09