Amazing cms powered by Django framework
Project description
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.
В состав входят следующие модули:
Главный модуль
Включает в себя следующие компоненты:
Текстовые страницы
Меню
Включаемые области
Фотогалерея
Комментарии к страницам
Доступные настройки
MIDNIGHT_MAIN_ADMIN_EMAIL = ‘admin@example.com’
MIDNIGHT_MAIN_MAIL_FROM = ‘admin@example.com’
MIDNIGHT_MAIN_PAGE_TPL_CHOICES = models.Page.PAGE_TPL_CHOICES
Доступные теги
Подключение библиотеки тегов:
{% 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' %}