Django — очаровательный в своей простоте и гибкости фреймворк. Однако, для быстрого построения большого числа несложных сайтов требуется поставить разработку сайтов на поток. Разрабатывать систему управления сайтом каждый раз утомляет и грозит потерями времени. Именно поэтому программисты часто обращаются к готовым CMS. Почти все знают о гигантах конвеерного веб-программирования, основанных на php — Drupal, Joomla!, Wordpress и прочих, но не все знают, что в мире Python существуют не менее мощные и даже гораздо более зрелые инструменты.
На данный момент основная проблема DjangoCMS - отсутствие нормальной документации. Первое что я нашёл на официальном сайте проекта, это инструкция как создать сайт с помощью DjangoCMS и развернуть его на облачной платформе Divio Cloud. Из этой инструкции конечно можно выцепить какое-то количество полезной информации, но я как разработчик, жду совсем другого, тем более что я не планирую использовать Divio Cloud, а хочу развернуть приложение на DjangoCMS на своем сервере. Основным преимуществом DjangoCMS является встроенная система Разделения прав доступа, удобный интерфейс, она не конфликтует с Python Django, поэтому можно пользоваться документацией для фреймфорка и постепенно добавлять это в свою админку CMS.
В DjangoCMS очень простая система верстки страниц с помощью встроенный плагинов. Можно, не покидая, странички сайта, накидать основные блоки, текст и т.д. Прежде чем создавать страницы нашего сайта нам нужны шаблоны на основе которых будут создаваться эти самые страницы. Наверняка вы захотите использовать собственный неповторимый дизайн чтоб было лучше чем у соседа, поэтому нам нужно в начале погрузиться в вёрстку. Шаблоны DjangoCMS это обычные файлы в формате .html с некоторым количеством шаблонных тегов Django и DjangoCMS. При создании нового проекта автоматически генерируется 4 шаблона в папке templates (в нашем случае mysite/templates): base.html - базовый шаблон, от которого наследуются все остальные шаблоны fullwidth.html - шаблон полноразмерной страницы с контентом на всю ширину экрана sidebarleft.html - страница с левым сайдбаром sidebarright.html - страница с правым сайдбаром.
Кроме того, список шаблонов обязательно должен быть задан в settings.py в переменной CMS_TEMPLATES для того чтобы можно было выбрать нужный шаблон в интерфейсе при создании новой страницы сайта.
CMS*TEMPLATES = ( ('fullwidth.html', 'Fullwidth'), ('sidebar_left.html', 'Sidebar Left'), ('sidebar*right.html', 'Sidebar Right') )
Тут всё просто: нужно задать реальное название файла шаблона и произвольное название, которое будет отображаться в интерфейсе. Если вы создаёте новый шаблон, то в обязательном порядке вносите его в CMS_TEMPLATES, иначе вы не сможете им воспользоваться.
На данный момент полный список шаблонов выглядит вот так:
CMS_TEMPLATES = (
## Customize this
('fullwidth.html', 'Fullwidth'),
('object_list.html', 'Home Page'),
('Info.html', 'Info'),
('home*page.html', 'home*page'),
('../accounts/register.html', 'Registration'),
('../accounts/login.html', 'Login'),
('data_1.html', 'Bovanenkovo'),
('statistics.html', 'Statistics')
)
Каждый шаблон написан под конкретную задачу. Например для реализации страниц регистрации и входа есть шаблоны Registration и Login соответственно.
Последнее изменение:
Артем Семенов @aosemenov_1
January 19, 2021, 3:15 PM
Над этой страницей работали: Артем Семенов @aosemenov_1