Лучший компонент Django CMS для интеграции в существующий сайт

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

Кто-нибудь знает о плагине, который может легко интегрироваться с существующими шаблонами/представлениями и по-прежнему обладает мощным/полным интерфейсом администратора?

Ответы

Ответ 1

Я работал со всеми тремя (и более), и все они созданы для разных вариантов использования IMHO. Я бы согласился, что это выбор топ-тейров.

Сравнение сетки на djangopluggables.com, безусловно, может облегчить оценку каждого из них.

django-cms является наиболее полнофункциональным и является тем, что вы действительно можете передать клиентам, не будучи безответственным. Несмотря на то, что у него есть функции для интеграции других приложений, он не имеет расширяемости/интеграции FeinCMS или простоты django-page-cms. При этом я считаю, что консенсус в том, что это лучший Open Source CMS для Django. Тем не менее, это документы немного не хватает. update: мне сказали, что интеграция приложений в DjangoCMS 2.1 улучшена.

FeinCMS - отличный набор инструментов для объединения и создания функциональных возможностей CMS в собственные приложения. Это не "из коробки" вообще, а это значит, что вы можете интегрировать его, как хотите. Он не хочет захватывать ваш urls.py или контролировать, как вы маршрутизируете страницы. Это, вероятно, прототип для следующего поколения действительно подключаемых приложений в Django. - Мы переходим от django-page-cms к FeinCMS, потому что наши первичные модели - это электронная коммерция большого объема, и у меня есть настраиваемые типы контента, которые я хочу интегрировать, которые не являются блогами или флэш-памятью. Хорошая документация и поддержка также.

Django-page-cms - отлично, если вы хотите просто иметь некоторые страницы "О нас" вокруг вашего основного приложения. Его система меню не является по-настоящему иерархической, и ваша презентация страницы зависит от вас. Но это очень просто, ненавязчиво и очень легко похлопать в ваше приложение и получить навигацию, которую клиенты могут управлять или даже для себя. У меня нет документов, о которых я знаю, но вам это действительно не понадобится. Прочтите код, и вы получите все за 30 минут или меньше.

Обновление

Mezzanine - очень хорошо разработанная CMS и одна из них, на которой я, наконец, остановился на большинстве своих клиентских работ, главным образом потому, что у нее есть интегрированная часть электронной коммерции. Но помимо этого он имеет очень расширяемые модели страниц и настраиваемый интерфейс администратора, который клиент может захотеть использовать. Он также имеет лучший "из коробки" опыт, т.е. У вас может быть полноценный сайт с одной командой.

Ответ 2

Если вам не обязательно нужна готовая CMS с фиксированным набором функций, а скорее инструменты поверх Django для создания собственной CMS, я рекомендую посмотреть в FeinCMS. Это следует за философией инструментария, а не с попыткой решить все и (тоже) часто неспособным это сделать.

http://github.com/matthiask/feincms/tree/master

Отказ от ответственности: это мое детище, и результат слишком много разочаровывающих событий, пытающихся настроить другую CMS для нужд моих клиентов.

Ответ 4

Если вам нужны еще несколько функций, тогда просто django-page-cms просто проверит django-blocks (http://code.google.com/p/django-blocks/). Имеет многоязычное меню, Flatpages и даже имеет простую корзину!

Ответ 6

Смотрите сайт django-plugables, в списке Django есть несколько компонентов CMS (и некоторые выглядят действительно хорошо).

Ответ 7

У меня был успех с интеграцией django-cms. Просто включите его в конец вашего urlconf, и он не будет мешать. (Вы потеряете приятную страницу 404, когда DEBUG=True)

Используя различные комбинации процессоров контекста и пользовательских тегов шаблонов, я смог сделать все, что мне нужно, но если вам действительно нужно вставить содержимое в свое собственное представление, это должно быть достаточно простым. (Возможно, назовите cms.views.render_page() шаблоном, которому не хватает всего html-оболочки)?