Created
March 4, 2017 12:57
-
-
Save egorsmkv/0374b73a0f02697f6e1d038d916b3391 to your computer and use it in GitHub Desktop.
Краткая инструкция по установке FeinCMS
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Hello, FeinCMS | |
Инструкция по установке FeinCMS. | |
1) Создаём папку для проекта и переходим в неё | |
mkdir hello-feincms | |
cd hello-feincms | |
2) Создаём виртуальное окружение для проекта | |
virtualenv hello-feincms-ve | |
3) Активируем ВО | |
source hello-feincms-ve/bin/activate.fish | |
4) Устанавливаем сам FeinCMS из PyPI | |
pip install FeinCMS==1.13.1 | |
5) Устанавливаем зависимости | |
pip install Django==1.10.6 django-mptt==0.8.7 Pillow==4.0.0 | |
=== | |
6) Создаём Django-проект и переходим в него | |
django-admin startproject feindemo | |
cd feindemo | |
7) Проверяем установку Django | |
./manage.py runserver | |
И переходим по адресу, который написан в консоли, у меня это http://127.0.0.1:8000/. Должны увидеть "It worked!", значит Django установлен правильно. | |
8) Отключаемся и делаем стандарные миграции | |
./manage.py migrate | |
9) Подключаем FeinCMS и его зависимости к нашему Django-проекту | |
Открываем файл feindemo/settings.py и дописываем к полю INSTALLED_APPS следующие данные: | |
INSTALLED_APPS = [ | |
# ... | |
'feincms', | |
'mptt', | |
'feincms.module.page', | |
'feincms.module.medialibrary', | |
] | |
10) Добавляем FEINCMS_USE_PAGE_ADMIN=False в feindemo/settings.py чтобы отключить вывод ошибки при создании нового app'a для страниц | |
11) Создаём app для страниц FeinCMS | |
./manage.py startapp pages | |
Добавляем его в feindemo/settings.py в INSTALLED_APPS в конец и убираем FEINCMS_USE_PAGE_ADMIN=False. | |
11) Добавляем в файл pages/models.py основные блоки-страницы FeinCMS: | |
from django.utils.translation import ugettext_lazy as _ | |
from feincms.module.page.models import Page | |
from feincms.content.richtext.models import RichTextContent | |
from feincms.content.medialibrary.models import MediaFileContent | |
Page.register_extensions('feincms.extensions.translations') | |
Page.register_templates({ | |
'title': _('Standard template'), | |
'path': 'base.html', | |
'regions': ( | |
('main', _('Main content area')), | |
('sidebar', _('Sidebar'), 'inherited'), | |
), | |
}) | |
Page.create_content_type(RichTextContent) | |
Page.create_content_type(MediaFileContent, TYPE_CHOICES=( | |
('default', _('default')), | |
('lightbox', _('lightbox')), | |
)) | |
12) Добавляем в feindemo/urls.py следующиее правило: | |
from django.conf.urls import url, include | |
from django.contrib import admin | |
urlpatterns = [ | |
url(r'^admin/', admin.site.urls), | |
url(r'', include('feincms.urls')), | |
] | |
13) Делаем миграции для FeinCMS | |
./manage.py makemigrations --empty feincms | |
./manage.py migrate feincms | |
./manage.py makemigrations page | |
./manage.py makemigrations medialibrary | |
./manage.py migrate | |
14) Добавляем базовый шаблон | |
Создаём файл templates/base.html | |
<div id="content"> | |
{% block content %} | |
{% for content in feincms_page.content.main %} | |
{{ content.render }} | |
{% endfor %} | |
{% endblock %} | |
</div> | |
<div id="sidebar"> | |
{% block sidebar %} | |
{% for content in feincms_page.content.sidebar %} | |
{{ content.render }} | |
{% endfor %} | |
{% endblock %} | |
</div> | |
В файле feindemo/settings.py в поле TEMPLATES добавляем путь к папке шаблонов: | |
TEMPLATES = [ | |
{ | |
'BACKEND': 'django.template.backends.django.DjangoTemplates', | |
'DIRS': [ | |
'templates', | |
], | |
'APP_DIRS': True, | |
# ... | |
---- | |
Осталось создать суперпользователя и добавлять страницы для FeinCMS. | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment