Итак, у меня есть относительно большое (достаточно кода, чтобы было легче написать этот компонент CMS с нуля, чем переписать приложение, чтобы оно соответствовало CMS) веб-приложение, в которое я хочу добавить базовое управление страницей / меню / мультимедиа, я видел несколько подключаемых модулей Django, решающих эту проблему, но многие из них кажутся нацеленными на полноценные платформы CMS.
Кто-нибудь знает плагин, который может легко интегрироваться с существующими шаблонами / представлениями и при этом обладает мощным и всеобъемлющим интерфейсом администратора?






См. Веб-сайт подключаемые модули django, здесь есть несколько компонентов CMS для Django (и некоторые выглядят действительно хорошо).
Мне удалось интегрировать django-cms. Просто включите его в конец вашего urlconf, и он не будет мешать. (Вы просто потеряете красивую страницу 404, когда DEBUG=True)
Используя различные комбинации процессоров контекста и настраиваемых тегов шаблонов, я смог сделать все, что мне нужно, но если вам В самом деле нужно вставить контент в свое собственное представление, это должно быть достаточно легко. (Возможно, вызовите cms.views.render_page() с шаблоном, в котором отсутствует вся оболочка html?)
Хм ... на данный момент я не помню, для чего я его использовал ... В последнее время я использую django-page-cms, так как его менее сложно передать кому-то другому.
Есть еще один, который тоже неплохой:
Это был мой любимый из них, самый простой и гибкий в использовании.
Привет, Kkubasik, интересно, есть ли у вас сайт, работающий на django-page-cms. Просто интересно, для чего вы это использовали.
Я не особо разбираюсь в этом. Я сделал в нем несколько небольших некоммерческих / событийных сайтов, а также django-cms как часть моего решения здесь.
Если вам не обязательно нужна готовая CMS с фиксированным набором функций, а нужны инструменты поверх Django для создания собственной CMS, я рекомендую изучить FeinCMS. Он следует философии набора инструментов вместо того, чтобы пытаться решить все и (тоже) часто не может этого сделать.
http://github.com/matthiask/feincms/tree/master
Отказ от ответственности: это мое детище и результат слишком многих разочаровывающих попыток настроить другую CMS для нужд моих клиентов.
Если вам нужны дополнительные функции, то простой django-page-cms просто проверяет django-блоки (http://code.google.com/p/django-blocks/). Имеет многоязычное меню, плоские страницы и даже простую тележку для покупок!
В вики Django есть очень хороший обзор приложений Django CMS!
Я работал со всеми тремя (и более), и все они созданы для разных вариантов использования. ИМХО. Я согласен с тем, что это лучший выбор.
Сравнение сетки на djangopluggables.com, безусловно, может упростить оценку каждого из них.
django-cms является наиболее полнофункциональным, и вы можете передать его клиентам, не проявляя безответственности. Несмотря на то, что у него есть функции для интеграции других приложений, у него нет расширяемости / интеграции FeinCMS или простоты django-page-cms. При этом я думаю, что консенсус состоит в том, что это лучшая CMS с открытым исходным кодом для Django. Однако его документации немного не хватает. Обновить: Мне сказали, что улучшена интеграция приложений в DjangoCMS 2.1.
FeinCMS - отличный набор инструментов для объединения и встраивания функциональности CMS в ваши собственные приложения. Это совсем не "из коробки", а это значит, что вы можете интегрировать его, как хотите. Он не хочет захватывать ваш urls.py или управлять маршрутизацией страниц. Вероятно, это прототип нового поколения действительно подключаемых приложений в Django. - Мы переходим от django-page-cms к FeinCMS, потому что наша основная модель - это крупномасштабная электронная коммерция, и у меня есть настраиваемые типы контента, которые я хочу интегрировать, а не блоги или flash. Хорошая документация и поддержка.
Django-page-cms - замечательно, если вы хотите просто иметь несколько страниц «О нас» вокруг вашего основного приложения. Его система меню не является действительно иерархической, и создание презентации вашей страницы зависит от вас. Но это очень просто, ненавязчиво и очень легко вставить в свое приложение и запустить навигацию, которой могут управлять клиенты или даже вы. Насколько мне известно, в нем нет документов, но они вам и не понадобятся. Прочтите код, и вы получите все за 30 минут или меньше.
Обновить
Антресоль - это очень хорошо спроектированная CMS, и я, наконец, остановился на большей части моей клиентской работы, в основном потому, что она имеет интегрированную часть электронной коммерции. Но помимо этого у него есть очень расширяемые модели страниц и настраиваемый интерфейс администратора, который клиент может захотеть использовать. У него также есть лучшие возможности "из коробки", то есть вы можете создать полноценный сайт с помощью одной команды.
Django-page-cms теперь имеет в основном приличную документацию и поддерживает довольно много редакторов WYSIWYG, cf packages.python.org/django-page-cms/index.html
На самом деле django-cms может интегрировать любое приложение Django, которое предоставляет представления (и, возможно, URL-адреса) с помощью Apphooks, или любое приложение Django, предоставляющее какие-либо данные (желательно, но не обязательно из моделей) с использованием подключаемых модулей CMS, поэтому я не уверен, какая часть интеграции с другими приложениями, которых ему не хватает.
Просто предостережение для людей, читающих это в 2011 году. Я написал этот ответ почти год назад и не успевал за всеми доступными вариантами. Так что, хотя я не думаю, что общие задачи проектов изменились, за год многое происходит, особенно в Django, поэтому проверяйте djangopackages.com для получения самой последней информации.
Привет, Мэтью, мне интересно, для чего ты использовал django-cms? Я сузился до django-page-cms, django-cms и feincms для того, что мне нужно. Похоже, что django-cms подходит для моих нужд, поскольку у меня еще нет запущенного и работающего сайта, и я могу добавить дополнительные требования в качестве плагина django-cms. Мне просто нужно узнать, как у тех, кто справился с django-cms, и посмотреть, смогу ли я заставить работать какой-нибудь демонстрационный сайт без написания полных шаблонов. Спасибо.