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' %}