Найти - Пользователи
Полная версия: Шаблоны для rss
Начало » Django » Шаблоны для rss
1 2
Mutagena
Проблема в том(насколько я поняла), что django не видит шаблонов для rss.
В urls.py я написала так:
feeds = {'latest': LatestPosts,}
...
(r'^feeds/(?P<url>.*)/','django.contrib.syndication.views.feed', {'feed_dict': feeds}),
...
Далее создала файл feeds.py в корне проекта:
from django.contrib.syndication.feeds import Feed
from MyBlog.core.models import Post
from MyBlog import settings

class LatestPosts(Feed):

title = settings.BLOG_NAME
link = ""
description = settings.BLOG_SHORT_DESCRIPTION

def items(self):
return Post.objects.order_by('-date')[:10]
Затем также в корне проекта создала папку feeds с шаблонами:
latest_title.html:
{{ obj.title }}

latest_description.html:
{{ obj.description }}
Всё так, как написано в документации.
Но по ссылке http://127.0.0.1:8000/feeds/latest/ выводится только:

Вообще удалила файлы с шаблонами, но выводится также. Значит django не может найти файлы с шаблонами, хотя я всё делала по документации. Может нужно что-то сделать не так?
Ferroman
Значит не все по документации.
Шаблоны должны быть не в папке в корне проекта, а в папке с шаблонами.
tezro
Я может неправильно понимаю… Но вы точно хотите оформить RSS? То есть сделать из XML что-то своё? То есть, я не понимаю ) Зачем тут шаблоны?
Mutagena
Ferroman, и туда пробовала помещать, выводится также. Как будто шаблонов нет вообще (
Mutagena
tezro, вот здесь написано так: http://docs.djangoproject.com/en/dev/ref/contrib/syndication/
tezro
Mutagena
tezro, вот здесь написано так: http://docs.djangoproject.com/en/dev/ref/contrib/syndication/
А параграф какой? Там в паре мест есть конечно упоминание про TEMPLATES…
Оставьте всё как есть в urls.py и feeds.py - джанга сама выдаст xml в 10 записей. Кстати в чём изначально проблема? В том, что выводится только две из 10 (может их всего две…)? Выводится как-то кривооформлено? Посмотрите не в FireFox.

По поводу "Post.objects.order_by('-date')" - у вас разве в метаклассе не стоит сортировка по дате?
Ferroman
Я уже говорил, но теперь скажу ещё раз.
Пожалуйста, будь последовательнее и точнее. Когда ты говоришь
и туда пробовала помещать, выводится также. Как будто шаблонов нет вообще (
Я не знаю что именно ты имеешь в виду. Т.е. куда и что ты поместила.
Поместила ли ты папку feeds в templates или пометила туда cами html'ки?
Mutagena
tezro, от начала до параграфа A complex example.
Да, записи появляются, но не выводится содержание поста, а вместо него ещё раз выводится название поста.
Mutagena
Ferroman, когда шаблоны находятся в папке feeds в папке с шаблонами, то выводится вот так:

а когда просто в папке с шаблонами или в любом другом месте, то так, как на скрине выше.
tezro
Mutagena
tezro, от начала до параграфа A complex example.
Да, записи появляются, но не выводится содержание поста, а вместо него ещё раз выводится название поста.
На параграф можно ссылку получить, если навести на заголовок и кликнуть по символу параграфа в конце строки - http://docs.djangoproject.com/en/dev/ref/contrib/syndication/#a-complex-example

>> If you don't create a template for either the title or description, the framework will use the template “{{ obj }}” by default – that is, the normal string representation of the object.

Если у тебя в шаблонах нет ничего кроме {{ obj.title }} {{ obj.description }} - удали их. Это лишнее. А вообще, какая задача изначально? Сделать rss поток? Записи в urls.py и передачи объекта более чем достаточно.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB