Python cms: Какие CMS на Python посоветуете? — Хабр Q&A

Содержание

Wagtail — лучшая CMS на python в нашей галактике

Wagtail — это популярная CMS на основе Django. Django предоставляет огромные возможности — с его помощью созданы не только сайты, но и, например, популярный веб-сервис комментариев disqus, веб-сервис хранения git репозиториев bitbucket и многое другое. На django можно создать все что угодно.

Wagtail предоставляет пользователям новые, построенные с помощью Django, абстракции. Можно провести следующую аналогию: если django предоставляет вам молоток, пилу, гвозди и деревянные доски, то Wagtail сразу дает готовые столы, стулья и прочую мебель сколоченную из того, что есть в django. Для своего проекта вы конечно можете собрать необходимую мебель сами, используя только django, но во многих случаях будет гораздо проще и быстрее взять что-то готовое из Wagtail.

Из комментариев в интернет кажется, что многие считают Wagtail надстройкой к админке django, но это далеко не так. В этой статье я расскажу о Wagtail, которую считаю лучшей CMS и приведу некоторые абстракции, предоставляемые Wagtail.

Кто стоит за Wagtail

История Wagtail начинается с 2014 года, когда британская компания Torchbox разработала сайт для Королевского колледжа искусств. Если пройти на сайт с установленным расширением Wappalyzer, можно убедиться, что заведение по сей день использует Wagtail. Изначально планировалось, что Wagtail станет open source проектом, каким он и остается по сей день. Torchbox ведет разработку своей CMS по настоящее время и предлагает платные услуги по поддержанию и созданию сайтов на Wagtail.

Скрин Wappalyzer с сайта Королевского колледжа искусств

Сейчас Wagtail используют такие организации как Mozilla Foundation, Nasa, Британский минздрав, Калтех, google в официальном туториале для своей облачной платформы устанавливает Wagtail на App Engine и многие другие. Если пройти по ссылкам из предыдущего предложения, опять же можно проверить Wappalyzer или любым другим инструментом, что сайты действительно используют Wagtail CMS.

На момент написания статьи, гитхаб репозиторий Wagtail имеет чуть больше 11 тысяч звезд и в разработке успело поучаствовать 496 человек, репозиторий очень активный. Для сравнения репозиторий Django CMS — еще одной CMS написанной с использованием Django имеет почти 8.5 тыс звезд и 440 участников а репозиторий WordPress имеет 15.5 тыс звезд и 63 участника. Команда Wagtail регулярно выпускает новые версии по заданному расписанию, например следующая версия 2.15 ожидается 1 ноября 2021.

Основные идеи Wagtail

Разработчик подошли к созданию Wagtail с некоторыми ключевыми идеями в голове, которые они назвали «Дзен Wagtail» по аналогии с «Дзен Питона». Вот мой пересказ Дзена Wagtail:

  1. Во-первых на Wagtail нельзя создать сайт без программирования. Если вам нужно что-то простое и быстро, лучше не тратить время на Wagtail — не забивайте гвозди микроскопом, установите готовую CMS и настройте ее мышкой. Wagtail актуален для создания проектов, которые могут иметь много абстракций, сложные зависимости между ними, несколько пользователей с различными ролями и т.п.

  2. Создание и поддержание сайта это общая работа нескольких людей. В Wagtail удобно и необходимо разделять обязанности разработчика, дизайнера, администратора сайта и автора, подготавливающего материалы на сайт.

  3. Авторы материалов для сайта должны иметь удобный и быстрый способ добавлять свои идеи/мысли/новости на сайт. Авторы не должны писать код на css или html. Дизайн и контент должен быть отдельно.

  4. Лучшим инструментом для разработчика сайта является язык программирования. Wagtail предполагает, что разработчик сам напишет какие-то нужные для сайта дополнения.

Некоторые возможности Wagtail

Страницы

Одной из важных абстракций, предоставляемых Wagtail является страница — Page. Страница предоставляет кучу полезного функционала из коробки — черновик, можно сохранять все версии страницы в базе данных (по мере их редактирования), дата публикации, дата изменения и много другое. Можно создать сколько угодно отдельных типов страниц, наследуя от Page. Например, отдельные классы для страниц блога, новостей, сотрудников и т. п. В каждом из таких типов можно задать, какой контент должен быть на странице — например, просто текст, изображения, видео… или все вместе.

Страницы организованы в виде графа — каждая страница может быть дочерней или родительской к другой странице, что можно указать в коде. Например, можно сделать страницу «Люди» /people/, в которой будет написано какой классный коллектив работает в компании. Дочерними страницами для страницы «Люди» можно сделать индивидуальные страницы сотрудников например /people/ceo, /people/cto… Все это делается в Wagtail в пару строк кода.

Управлять содержимым страниц можно только из админ панели wagtail.

Пример редактирования страницы Wagtail

StreamField

Еще одним важным инструментом является StreamField. StreamField позволяет создать контент из блоков — также как, например, пишутся статьи на хабре, vc, vk — короче это уже стало стандартом. Ваша страница это просто набор блоков — блок изображение с подписью, блок текст, блок видео. .. В Wagtail можно создать собственные виды блоков. Например, можно создать блок для карусели картинок, как в vk.

Картинки

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

API

Нужна безголовая (Headless) CMS? Нет проблем! REST API в Wagtail доступно практически по умолчанию (пара строк кода, скопированных из документации). Если нужно что-то круче — graphql — есть пост от Torchbox с кодом и инструкциями какие пакеты нужно установить.

Другие возможности

Админ интерфейс Wagtail легко настраивается — можно добавить новые элементы меню, поменять логотип, поменять цвета. Админ интерфейс адаптивный — нормально выглядит на смартфоне, компьютере, планшете и т.п. Еще в Wagtail легко создавать сложные таблицы, из коробки доступен ставший стандартом elasticsearch, есть разделение доступа между пользователями а также группами пользователей и многое другое.

Освоить Wagtail

Предположу, что написанное выше звучит очень абстрактно и чтобы разобраться нужно посмотреть примеры и пописать код.

У Wagtail отличная документация, хотя на ответах со stackoverflow я не раз сталкивался с примерами недокументированных возможностей. Кстати на stackoverflow у Wagtail отличная поддержка. На один мой вопрос даже ответил сотрудник Torchbox Matt Westcott — один из ключевых разработчиков Wagtail.

Отличные уроки по Wagtail на английском подготовил Kalob Taulien:

Доступных материалов на русском, к сожалению, не так много. Все, что я смог найти это:

На хабре есть один старенький туториал из трех частей по запуску CMS (раз, два, три). Возможно, что-то оттуда уже устарело, но, попробовать запустить можно.

Туториал https://python-scripts.com/wagtail — надеюсь, автор написал тот пост не ради рефералки на хостинг.

Пользуясь случаем, не могу не прорекламировать блестящие уроки на youtube, отснятые моей скромной персоной:

Заключение

Видя какой путь прошел Wagtail, и как он развивается сейчас, уверен, что данная CMS будет только процветать, ведь ее поддерживают настоящие профи, которые зарабатывают деньги, делая Wagtail лучше, ей пользуются самые передовые организации и IT гиганты, в ней есть крутые возможности из коробки.

Django CMS или WordPress — сравнение, что лучше, преимущества и недостатки

В этой статье мы обсудим разницу между Django CMS и WordPress. CMS означает систему управления контентом, которая используется для управления веб-сайтами.

Чтобы начать веб-разработку, первым шагом является выбор подходящей платформы и инструмента для разработки веб-приложений.

WordPress — самый популярный инструмент для CMS, и на основе WordPress созданы миллионы веб-сайтов. Но прежде чем выбрать WordPress, пользователь должен знать о других CMS, таких как Django CMS.

Чтобы упростить процесс, мы проведем подробное сравнение WordPress и Django CMS.

Что такое CMS Django?

Django — это веб-фреймворк с открытым исходным кодом, который быстро разрабатывается. Он написан на языке программирования Python. Существует также WordPress-подобная CMS под названием Django CMS. Это мощный и популярный фреймворк.

Django CMS используется ведущим мировым космическим агентством NASA и компанией L’Oreal. Он предоставляет возможность управлять веб-сайтом с помощью встроенных инструментов и настраивать контент. Одной из лучших особенностей Django является то, что разработчикам не нужно создавать страницу администратора. Поскольку это открытый исходный код, любой может использовать его, не платя ни копейки.

Возможности

В Django CMS есть множество функций, которые делают его наиболее подходящим инструментом для веб-разработки. Некоторые из основных характеристик приведены ниже.

  • Высокая скорость выполнения.Django написан на Python; следовательно, для выполнения задач требуется меньше строк кода. Пользователи могут развивать веб-сайт очень быстро. Есть много встроенных библиотек, таких как ORM, all auth и т.д.
  • Безопасность.Django гарантирует, что разработчики не допустят ошибок, которые могут привести к угрозам безопасности. Он зарекомендовал себя как необычайно безопасный.
  • Масштабируемость.Django поставляется с несколькими небольшими плагинами, которые можно легко интегрировать в основной проект.
  • Универсальность.С помощью Django мы можем разработать любой веб-сайт, такой как социальные сети, электронная коммерция, блог, научный веб-сайт и т. д.

Недостатки

Django CMS славится своими отличными функциями, но также имеет несколько недостатков. Ниже приведены недостатки.

  • Нет соглашений.Django — это нетрадиционный фреймворк. У него нет набора принципов. Вот почему многие программисты не любят его.
  • Не для маленького проекта.Этот фреймворк не подходит для небольших проектов. Он требует большого количества кода, и фреймворк может запутать разработчиков своими уникальными функциями.
  • Крутая кривая обучения.Django поставляется с множеством встроенных функций, которые трудно запомнить. Чтобы использовать эту структуру, пользователь должен пройти через Python, что требует времени.
  • Проблема с несколькими запросами.В отличие от большинства фреймворков, Django не может обрабатывать несколько запросов одновременно. Хотя многие фреймворки легко могут сделать это.

Когда использовать CMS Django?

Django CMS включает в себя некоторые уникальные функции, которые сложно найти в Интернете. Если пользователь ищет такие функции или темы, которые WordPress не предлагает, Django CMS будет лучшим выбором. Если вы ищете замену WordPress, Django CMS — лучший выбор для вас. Если вы знаете Django, то сможете эффективно работать с Django CMS.

Какие сайты может создавать пользователь?

С Django CMS пользователь может создавать следующие веб-сайты:

  • Электронная коммерция
  • Каталоги
  • Сайт научной веб-системы
  • Блог
  • Сайт банковской системы

Инструменты, интегрированные с Django CMS

  • React
  • Bootstrap
  • Angular 2
  • Blackfire. io
  • Broadleaf Commerce
  • Lemon way

Что такое WordPress?

WordPress — самая популярная система управления контентом с открытым исходным кодом, написана на PHP и MySQL. Миллионы веб-сайтов разрабатываются с использованием WordPress. Крупные организации, такие как Techcrunch, Frankwatching и Next Web, используют WordPress.

WordPress позволяет пользователю добавлять плагины, устанавливать темы и настраивать в соответствии с его требованиями. Мы также можем добавить несколько привлекательных виджетов. Это обеспечивает отличную простоту разработки веб-сайта. Он предоставляет как платные, так и бесплатные функции, некоторые из них немного дороже, а другие взимают относительно небольшую сумму.

Вам не нужен профессиональный разработчик или глубокие знания PHP и MySQL, если вы планируете разрабатывать веб-сайт с использованием WordPress. Это также позволяет одним щелчком мыши использовать веб-хостинг. Вот почему многие называют его «инструментом для любителей».

WordPress имеет большое сообщество по всему миру, которое активно инвестирует в систему.

Возможности WordPress

Ниже приведены основные причины, по которым WordPress чаще всего используется CMS для веб-разработки:

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

Недостатки

Здесь мы собрали основные недостатки WordPress:

  • Обязательное количество плагинов.На веб-сайте WordPress, если вы хотите добавить некоторые дополнительные функции, вам следует воспользоваться помощью плагинов. Включение многих плагинов может замедлить работу сайта.
  • Частые обновления тем и плагинов.Тему и плагины необходимо регулярно обновлять, чтобы улучшить взаимодействие с пользователем. Делая это, пользователи могут столкнуться с неработающими ссылками или сбоями сайта.
  • Плохой рейтинг SEO.WordPress предоставляет минимальные функции SEO-оптимизации, что затрудняет ранжирование WordPress в Google.Рейтинг сайта займет много времени; пользователю необходимо более надежное программное обеспечение и глубокое изучение конкурентного рынка.
  • Уязвимость веб-сайта.Веб-сайты WordPress могут быть взломаны и заспамлены из-за уязвимости. Веб-сайт, скорее всего, будет получать спам, если на нем есть раздел комментариев.

Когда использовать WordPress?

WordPress — наиболее подходящий инструмент для абсолютных новичков. Он обеспечивает простой в использовании интерфейс и функции перетаскивания. Пользователи должны быть знакомы с HTML, CSS и другими инструментами и языками веб-дизайна. Его легко настроить и нет сложных функций.

Инструменты, интегрированные с WordPress

  • WooCommerce
  • Mailgun
  • Zendesk
  • AddThis
  • Optimizely
  • Gatsby

Какой сайт пользователь может создать с помощью WordPress?

  • Небольшой сайт электронной коммерции
  • Образовательный сайт
  • Сайт банковской системы
  • Сервисные сайты
  • Блог
  • Портфолио

Разница между CMS Django и WordPress

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

ПараметрыDjango CMSWordPress
Использование языкаС помощью Django CMS мы можем создать сайт с нуля. Пользователи также должны знать Python.Пользователю не требуется никаких знаний в области кодирования для создания веб-сайта.
Внешний видНам нужно сделать кодирование, чтобы получить желаемый результат.Пользователь может легко настроить внешний вид веб-сайта, изменив выбранную тему.
ПопулярностьТребуются технические знания, поэтому он менее популярен.WordPress очень популярен.
ПлагиныDjango CMS поставляется с очень ограниченным количеством плагинов.Широкая поддержка плагинов делает WordPress более популярным.
СкоростьDjango CMS не становится медленным через некоторое время.Через некоторое время сайт WordPress становится медленным.

Вывод

В этом уроке мы обсудили сравнение Django CMS и WordPress. Обе структуры имеют свои преимущества и недостатки. Ни один инструмент не идеален и не является крайне плохим. Пользователь сам решает, какой фреймворк больше подходит для его проекта.

Если вы ищете полноценный профессиональный веб-сайт, отражающий ценность вашего бренда, Django CMS — лучший фреймворк для таких требований. Веб-сайт Django отличается элегантным оттенком профессионализма и высокой ценностью бренда. Тем не менее, WordPress также может делать то же самое, но Django CMS предлагает более эффективный вид.

Django CMS не подходит для блогов, но лучше всего подходит для малого и среднего бизнеса.

С другой стороны, если вы ищете веб-сайт блога, который обеспечивает более высокую информативность в рамках стандартной архитектуры, тогда WordPress будет предпочтительным выбором, а не Django CMS. WordPress обеспечивает улучшения SEO; легко настраиваемые темы, различные плагины и пользовательский интерфейс.

Михаил Русаков

Изучаю Python вместе с вами, читаю, собираю и записываю информацию опытных программистов.

Еще для изучения:

Wagtail CMS — система управления контентом Django

Wagtail — ведущая CMS Python с открытым исходным кодом

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

 

pip install трясогузка

Скопировано!

Рекламное видео на главной странице

НАСА, Google, NHS.

CMS, которой доверяют известные вам организации

Трясогузка поддерживает творчество каждого

Порадуйте своих редакторов. И ваши разработчики тоже.

StreamField

Интуитивно понятный интерфейс дает редакторам творческий контроль над контентом

Интерфейс Wagtail StreamField интуитивно понятен и дает редакторам творческий контроль над контентом.

Удлинение трясогузки упрощено и просто

Узнайте, как можно добавить новые параметры контента, написав всего несколько строк кода.

Узнайте о StreamField

Делайте все возможное

Трясогузка помогает всей вашей команде работать лучше

  • Гибкость для разработчиков

    Все, что вы можете сделать в Python или Django, вы можете сделать в Wagtail.

  • Свобода интерфейса для дизайнеров

    Простая система шаблонов дает вам точный контроль над стилем.

  • Без привязки к бизнес-лидерам

    Трясогузка не имеет лицензионных отчислений и профессионалов по всему миру, которые будут работать с вами.

  • Творческий контроль для редакторов

    Редакторы могут структурировать и публиковать контент так, как они хотят, без разработчика.

Трясогузка позволяет нам создавать красивые, отзывчивые, доступные веб-сайты, которые просты в администрировании для контент-менеджеров и безболезненны для разработчиков. Мы в Беркли пришли к выводу, что трясогузка — это технология, которую легко полюбить.

Мэтью Ньютон, главный разработчик веб-приложений в Калифорнийском университете в Беркли

Трясогузка повысила эффективность наших команд разработчиков и контент-менеджеров. Теперь мы можем создавать гораздо более визуально привлекательный и увлекательный контент за гораздо меньшее время, чем раньше.

Эйми Марони, разработчик маркетинговой платформы в Сиракузском университете

Попробуйте трясогузку

Найти профессионала

Ищете специалиста по трясогузкам для работы?

Ознакомьтесь с услугами, предлагаемыми Torchbox, создателем трясогузки, а также многими другими агентствами и внештатными профессионалами.

Что дальше для Трясогузки?

Узнайте на этой неделе о трясогузках

Подпишитесь на нашу рассылку, чтобы быть в курсе событий о трясогузках, новых функциях и других интересных событиях.

Мы используем файлы cookie, чтобы предоставить вам лучший сервис. Продолжайте просмотр, если вы довольны этим, или узнайте больше

Характеристики трясогузки | Wagtail CMS

Wagtail поддерживает творческий подход каждого

Независимо от того, являетесь ли вы разработчиком, который хочет свободно создавать собственные функции, или редактором, который хочет больше сосредоточиться на контенте, чем на коде, Wagtail поддерживает изобретательность каждого члена команды по контенту.

StreamField

Управление отображением содержимого и организацией данных.

Редакторам это нравится, потому что у них есть свобода создавать страницы так, как они хотят, без кодирования. Разработчикам это нравится, потому что StreamField дает им точный контроль над тем, как отображается контент и как организованы данные.

Интуитивная организация содержимого

Древовидная структура, облегчающая поиск и организацию содержимого.

В административной панели Трясогузка используется древовидная структура, которая упрощает поиск и организацию содержимого. Независимо от того, есть ли у вас несколько типов страниц или десятки, боковая панель контента предлагает редакторам быстрый и интуитивно понятный способ перехода к нужному контенту.

Настраиваемые типы страниц

Используйте модели Django для простого создания и расширения пользовательской архитектуры.

Типы страниц Wagtail позволяют разработчикам легко создавать и расширять пользовательскую архитектуру. Нужен ли вашей команде пост в блоге, тематическое исследование или страница пожертвований, вы можете быстро раскрутить его без тонны споров с базой данных.

Фрагменты

Многоразовые компоненты, которые редакторы могут использовать снова и снова.

Благодаря фрагментам нет необходимости тратить время на воссоздание компонентов. Фрагменты позволяют разработчикам быстро добавлять повторно используемые компоненты в интуитивно понятную административную панель Wagtail, чтобы редакторы могли использовать их снова и снова.

Конструктор форм

Создание контактных форм, опросов и т. д.

Предоставьте создателям контента возможность взаимодействовать с читателями с помощью конструктора настраиваемых форм Wagtail. После некоторой простой настройки на серверной части редакторы могут использовать простую настройку форм Wagtail для создания контактных форм, опросов и многого другого.

Расширенное управление изображениями

Держите свою библиотеку изображений в порядке и под контролем.

С фокусом изображения и пользовательскими инструментами кадрирования в Трясогузке у вас больше контроля над кадрированием и отображением изображений. Функции загрузки нескольких изображений и дедупликации изображений также помогают поддерживать порядок в библиотеке изображений и держать ее под контролем

Попробуйте трясогузку

Свобода интерфейса

Интеграция с технологией интерфейса по вашему выбору

Благодаря системе шаблонов Wagtail ваши дизайнеры и разработчики интерфейса получают полную свободу интерфейса. Трясогузка может быть интегрирована с технологией внешнего интерфейса по вашему выбору, и вы даже можете использовать Wagtail как автономную CMS с несколькими внешними интерфейсами.

Создавайте контент, доступный по всему миру

Трясогузка облегчает охват международной аудитории.

Из коробки Трясогузка поддерживает разные версии сайта для разных языков и стран, а также перевод контента прямо в Трясогузку. В сочетании с пакетом локализации трясогузки с открытым исходным кодом трясогузка предоставляет вам мощный набор инструментов для охвата аудитории по всему миру.

Открытый, расширяемый и надежный

Код трясогузки полностью открыт.

Трясогузка работает на Python и Django, двух самых популярных и мощных доступных технологиях с открытым исходным кодом. Код для трясогузки полностью открыт и поддерживается активным сообществом и основными участниками из агентств по всему миру.

Создатели-основатели, Torchbox, представляют собой траст, принадлежащий сотрудникам и предназначенный для обслуживания некоммерческих и общественных организаций, а не инвесторов. Исходный код является бесплатным и открытым, так что каждый может настроить и расширить Wagtail.

Усовершенствованные корпоративные рабочие процессы

Предназначен для поддержки групп по работе с контентом

Трясогузка включает функции, которые поддерживают весь процесс публикации от написания первого черновика до редактирования и публикации. Трясогузка поддерживает каждый шаг, необходимый для создания безупречного контента, независимо от того, сколько шагов вам нужно.

Настраиваемые рабочие процессы

Управляйте тем, кто может модерировать, просматривать и публиковать контент

Независимо от того, требуется ли вам один или несколько шагов редактирования, настраиваемые рабочие процессы в Wagtail дают вам возможность добавлять столько или меньше просмотров контента, как вам нужно. Прекрасные разрешения в Трясогузке позволяют легко контролировать, кто может модерировать, просматривать и публиковать контент.

История сайта

Полная прозрачность того, кто вносил изменения

Благодаря функции истории сайта у вас будет полная прозрачность того, кто и как вносил изменения в ваш контент. Вы можете регистрировать и проверять действия пользователей с помощью отчета об истории сайта непосредственно в административной панели трясогузки или с помощью команды управления бэкэндом.

Откат ревизии

Откат к версии, которой вы хотите поделиться со всем миром

Редактирование часто включает в себя несколько ревизий, и может быть трудно отслеживать изменения, вносимые от версии к версии. Трясогузка включает встроенный инструмент сравнения версий, который может помочь вам вернуться к версии, которой вы хотите поделиться со всем миром.

Планирование

Получите полный контроль над своим редакционным календарем

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

Комментарии и уведомления

Редакторы могут просматривать и запрашивать изменения контента непосредственно в Трясогузке

Благодаря функции комментирования Трясогузка вам не нужно возиться со сбором комментариев в другом текстовом редакторе.