在不同的日期范围内重复使用 Django RSS Feed

发布于 2024-09-14 13:24:16 字数 480 浏览 3 评论 0原文

在 Django 中拥有基于日期范围的 rss feed 的方法是什么?例如,如果我有以下类型的 django rss feed 模型。

from django.contrib.syndication.feeds import Feed
from myapp.models import *

class PopularFeed(Feed):
    title = '%s : Latest SOLs' % settings.SITE_NAME
    link = '/'
    description = 'Latest entries to %s' % settings.SITE_NAME

    def items(self):
        return sol.objects.order_by('-date')

如果我想要使用 LeastPopularFeed,如何才能在所有时间、上个月、上周、过去 24 小时内使用 PopularFeed,反之亦然?

What would be a way to have date range based rss feeds in Django. For instance if I had the following type of django rss feed model.

from django.contrib.syndication.feeds import Feed
from myapp.models import *

class PopularFeed(Feed):
    title = '%s : Latest SOLs' % settings.SITE_NAME
    link = '/'
    description = 'Latest entries to %s' % settings.SITE_NAME

    def items(self):
        return sol.objects.order_by('-date')

What would be a way to have PopularFeed used for All Time, Last Month, Last Week, Last 24 Hours, and vice-versa if I wanted to have LeastPopularFeed?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

沫尐诺 2024-09-21 13:24:16

您需要为您想要的每个提要定义一个类。例如,对于上个月的 feed:

class LastMonthFeed(Feed):

    def items(self):
        ts = datetime.datetime.now() - datetime.timedelta(days=30)
        return sol.object.filter(date__gte=ts).order_by('-date')

然后将这些 feed 添加到您的 urls.py 中,如文档中所示:http://docs.djangoproject.com/en/1.2/ref/contrib/syndicate/

You need to define a class for each feed you want. For example for Last Month feed:

class LastMonthFeed(Feed):

    def items(self):
        ts = datetime.datetime.now() - datetime.timedelta(days=30)
        return sol.object.filter(date__gte=ts).order_by('-date')

Then add these feeds to your urls.py as shown in docs: http://docs.djangoproject.com/en/1.2/ref/contrib/syndication/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文