Ошибка 194: The syndication feed() view is deprecated.

3593 2

    Открыв недавно лог ошибок Апача обнаружил его заполненным на 90% одной ошибкой:

194: DeprecationWarning: The syndication feed() view is deprecated. Please use the new class based view API.

    Если точнее, то это предупреждение. И о чем же оно мне сообщает?

    ---
   
    Оказывается начиная с версии Django 1.2 (как я этого раньше не заметил?) изменился механизм работы с RSS фидами. Старый пока сохранился, но будет удален в версии 1.4. Вот об этом мне и сообщает django.


    Для исправления ситуации, я как всегда нагуглит близкий ответ (спасибо Игорю Токареву):

 

   1. Меняем feeds.py
       Вместо

from django.contrib.syndication.feeds import Feed

       Ставим

from django.contrib.syndication.views import Feed

   2. Меняем urls.py

       Вместо

(r'^feeds/latest/$', 'django.contrib.syndication.views.feed', {'feed_dict': feeds}),

       Ставим

url(r'^feeds/latest/$', LatestEntries()),

 

       Все остальное, включая наши шаблоны должно работать как и раньше.

Комментарии

27 ноября 2012 г. 15:32 owlman
Согласен, Ошибся. Вместо:
...syndication.feeds import Feed
должно быть:
...syndication.views import Feed

В тексте поправил. Спасибо!
26 ноября 2012 г. 15:32 qwerty qawseedrf
In [1]: a = 'from django.contrib.syndication.feeds import Feed'

In [2]: b = 'from django.contrib.syndication.feeds import Feed'

In [3]: a == b
Out[3]: True

Контактные данные

 Россия, г. Москва