Django-способ указать канал отображает в RSS ленте

Развернут ли ваш сценарий в режиме тестирования? Если это так, этот сценарий будет выполняться только для владельца сценария. Скорее всего, вы в этом случае.

10
задан Sergey Golovchenko 29 March 2009 в 21:48
поделиться

2 ответа

Найденный правильным способом сделать его. Как документация описывает, я должен был создать пользовательский генератор канала путем разделения на подклассы от Rss201rev2Feed и метода переопределения

add_root_elements()

как это:

class RssFooFeedGenerator(Rss201rev2Feed):
    def add_root_elements(self, handler):
        super(RssFooFeedGenerator, self).add_root_elements(handler)
        handler.addQuickElement(u"image", '',
            {
                 'url': u"http://www.example.com/images/logo.jpg",
                 'title': u"Some title",
                 'link': u"http://www.example.com/", 
             })     

class RssFooFeed(Feed):
    feed_type = RssFooFeedGenerator
    title = u"Foo items"
    link = u"http://www.example.com/"
    description = u"Some description"
10
ответ дан 3 December 2019 в 18:36
поделиться

Я предлагающий использовать django-atompub для поколения Atom-ленты. Это имеет очень хорошую абстракцию Класса с большим количеством опций, таким образом, никакое любое взламывание XML, высокоуровневый код Python только.

Пример:

# Define feed class
class StreamFeed(Feed):
    ... [snipped]
    def item_links(self, item):
        return [{'rel': 'enclosure', 'href': item.file.url, 'length': item.file.size, 'type': item.mime.name},
        {'rel': 'alternate', 'href': full_url(item.get_absolute_url())}]

Я использовал его в своем фотоблоге с открытым исходным кодом django приложение. Вы видите примеры через битоприемник repo.

Полный код поколения канала.

4
ответ дан 3 December 2019 в 18:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: