midnight

Amazing cms powered by Django framework


License
BSD-3-Clause
Install
pip install midnight

Documentation

Midnight CMS

CMS на django фреймворке для быстрого развертывания web проектов

Системные требования

  • Python 3.4
  • Pip
  • Bower
  • Postgresql 9.3 и выше

Установка

Прописать настройки соединения с базой данных в файле midnight/env/dev/settings_local.py. Делее выполнить следующие команды в корне проекта:

$ cp midnight/env/dev/settings_local.py midnight/settings_local.py
$ pip install -e .
$ bower install
$ python manage.py migrate
$ python manage.py loaddata data
$ python manage.py collectstatic

Создание тем оформления

Шаблоны тем должны располагаться в midnight/templates/theme_name. Статические файлы в www/themes/theme_name.

В состав входят следующие модули:

Главный модуль

Включает в себя следующие компоненты:

  • Текстовые страницы
  • Меню
  • Включаемые области
  • Фотогалерея
  • Комментарии к страницам

Доступные настройки

Доступные теги

Подключение библиотеки тегов:

{% load midnight_main %}

Подключение меню. Принимает символьный код меню, уровень вложенности и атрибуты обертывающего тега:

{% show_menu "menu_slug" 2 class='menu-class' %}

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

{% show_gallery "gallery-slug" "150x110" "center" class='gallery-class' %}

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

{% show_area "area_slug" %}

Подключение ajax формы. Принимает имя класса формы, имя представления обрабатывающего форму, идентификатор оборачевающего тега, признак необходимости открывать ворму в fancybox (modal). В примере использована форма обратной связи входящая в состав модуля:

{% ajax_form 'midnight_main.forms.Feedback' 'midnight_main:page_feedback' tag_id='feedback_form' modal=True %}

Отображение панели пользователя:

{% user_info %}

Отображение хлебных крошек Принимает список хлебных крошек ([{'label': 'Crumb label', 'url': '/crumb-url/'}, ... ]) и атрибуты оборачивающего тега:

{% breadcrumbs crumbs class='breadcrumb' %}

Форма поиска:

{% search_simple_form %}

Новости

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

Доступные настройки

  • MIDNIGHT_NEWS_PAGE_SIZE = 20

Доступные теги

Подключение библиотеки тегов:

{% load midnight_news %}

Список последних новостей. Принимает символьный код категории новостей, количество выводимых новостей, атрибуты оборачивающего тега:

{% show_news_line 'news_section_slug' 3 class='news-class' %}

Баннерный модуль

Позволяет размещеть баннеры на страницах сайта. Поддерживает следующие форматы:

  • JPG
  • GIF
  • PNG
  • SWF

Доступные теги

Подключение библиотеки тегов:

{% load midnight_banners %}

Отображение одного баннера. Принимает символьный код баннерного места. Отображает выбранный случайным образом баннер из указанного баннерного места:

{% one_banner 'place_slug' %}

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

{% list_banners 'place_slug' class='banners-class' %}

Каталог

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

Доступные параметры

  • MIDNIGHT_CATALOG_PAGE_SIZE = 20
  • MIDNIGHT_CATALOG_PREFETCH_PARAMS = False # Жадная загрузка свойств товаров при отображении в списке
  • MIDNIGHT_CATALOG_CURRENCY = 'руб'
  • MIDNIGHT_CATALOG_DECIMALS = 2

Доступные теги

Подключение библиотеки тегов:

{% load midnight_catalog %}

Фильтр валюты currency.:

{{ item.price | currency }}

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

{% catalog_sections 'section_slug' 2 class='catalog-class' %}