Обновление Feedparser Feeds в Django - PullRequest
       6

Обновление Feedparser Feeds в Django

0 голосов
/ 22 октября 2010

Итак, я пишу базовый агрегатор каналов / сайт клонирования popurls в Django и испытываю трудности с получением каналов для обновления.

Для каждого источника каналов у меня есть отдельное приложение для анализа и возврата запрошенной информации.для простоты, скажем, это просто получение заголовка канала.Например:

#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})

Моя проблема в обновлении каналов ... они не будут обновляться, пока я не перезапущу Apache!Я попытался создать feed_update.py, который запускает команду get_feed_xyz (), но сайт по-прежнему не обновляется.Я думаю, что упускаю какую-то существенную часть того, как работает Django, потому что я просто не могу понять это.

1 Ответ

0 голосов
/ 22 октября 2010

aggregate является глобальной переменной, поэтому функция get_feed_xyz() вызывается только при загрузке модуля.Вам нужно будет обновить его внутри index().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...