所以我在Django中编写了一个基本的feed聚合器/ popurls克隆站点,并且无法获取更新的提要。
对于每个Feed源,我有一个单独的应用程序来解析并返回所请求的信息,为了简单起见,我们说它只是获取Feed标题。例如:
#feed source xyz views.py
from django.http import HttpResponse
import feedparser
def get_feed_xyz():
xyz_feed = "http://www.xyz.com/feed.xml"
feed = feedparser.parse(xyz_feed)
info = []
for entry in feed.entries:
info.append(entry.title)
return info
然后我有一个汇总所有链接的聚合器应用程序。
#aggregator views.py
from django.shortcuts import render_to_response
from site.source.views import get_feed_xyz
#etc
aggregate = get_feed_xyz() # + other feeds etc
def index(request):
return render_to_response('template.html',{'aggregate' : aggregate})
我的问题是更新Feed ...除非我重新启动Apache,否则它们不会更新!我尝试过运行get_feed_xyz()命令的feed_update.py,但该站点仍然没有更新。我想我错过了Django如何在这里工作的一些重要部分,因为我根本想不出来。
答案 0 :(得分:0)
aggregate
是一个全局变量,因此函数get_feed_xyz()
仅在模块加载时调用。您需要在index()
内更新它。