Форум сайта python.su
Доброго времени суток,
Значит так: есть сайт на django-cms и есть собственное приложение(оно фонарное: делает выборку по фильтру, и возвращает список)
Хочу интегрировать одно с другим. Проще говоря мне нужно чтобы на главной заработала моя переменная которая связана с внешней моделью(не завязанной на cms).
Подскажите пожалуйста как такое реализовать.
Офлайн
Вы случаем не путает понятия фреймворк и CMS?
Что за приложение? Питоновское или на другом языке?
SlonВот эта фраза мне совсем непонятна… Что вы понимаете под переменной? Результат работы вашего стороннего приложения?
на главной заработала моя переменная которая связана с внешней моделью
Офлайн
Что конкретно Вы хотите сделать? Вывести что-то на главной? Изменить её поведение?
Офлайн
Чет я намудрил с описанием. Вот что нужно:
Есть отдельное приложение(manage.py startapp news), у него есть модель и вот такое представление:
def news_compact(request):
news_list = news.objects.filter(news_published = 1)
return render_to_response('news.html', {'news_list': news_list,},)]
Офлайн
Используйте {{ news.news_compact|safe }}
Офлайн
А как оно должно работать? Нет никакой реакции на эту переменную
Отредактировано (Окт. 21, 2010 04:55:47)
Офлайн
Ошибка вышла, решение со сейфом вам не подходит. (я подумал что та функция была методом модели, а не представлением)
Насчёт же включения инклудом news.html, единственное что инклуд делает это “передаёт” текст шаблона из указанного файла, а контекст вы должны отдавать сами, т.е. в основном представлении тоже должно формироваться news_list.
Офлайн
В этом как раз и проблема, всей логикой заведует django-cms. А как в эту логику влезть, я не пойму.
Офлайн
Прочитайте следующие вещи:
http://ru.wikipedia.org/wiki/Система_управления_содержимым
http://docs.djangoproject.com/en/dev/ref/templates/builtins/#include
Во-первых, почему-то под django-cms у меня такое ощущение вы понимаете шаблонную сстему Джанги. (поправьте меня если я не прав или заблуждаюсь)
Во-вторых, использование include не избавляет от необходимости передавать контекст, т.е. воспринимайте это словно делается копипаст куска шаблона в обрабатываемый шаблон и не более того.
Отредактировано (Окт. 21, 2010 11:09:17)
Офлайн
1. Вы заблуждаетесь
2. Я понимаю как работает include.
Сейчас опишу всю картину в общем, чтобы было понятно где что:
Сайт сделан на django-cms. На главной есть модуль, новости, который выводит 3 последние новости. Ну как выводит, он инклудит news.html в котором в дивах прописаны руками новости. Также есть отдельная вкладка новости, где выводятся те же новости, но с картинками и т.п.(уже через cms, но и там через ж..) Это как то не по феншую лазить в шаблон и писать руками там. Я сделал отдельное от cms представление, чтобы все было красиво. В идеале, хочу сделать свое приложение новостей, которое позволит загружать изображения, будет иметь поля аннотации и самой новости, rss фид. Во общем все как у людей.
Я сделал представление, что выложил выше. Теперь мне нужно его связать с url'ом главной странницы. Но все урлы перехватывает, и обрабатывает django-cms:
(r'^', include('cms.urls')),
Офлайн