Как установить django cms
1. Installing django CMS¶
The setup is incredibly simple, and in this django CMS tutorial, we’ll take you through the first five steps to help get you started.
1.1. What you need to get started¶
First of all, you don’t need to be a senior developer or have prior experience as a developer with Django or Python to create your first django CMS demo website. The added benefit of django CMS, is it’s free.
Before we begin the django CMS tutorial, you will need to know that there are several ways to install django CMS for free.
You can either set up a project on Divio Cloud, which is fast and useful for people without a technical background and a good starting point to experience the CMS User Interface.
As another option, you can set up the project using docker. It is a good way for a developer locally without an external vendor and we use this option in this django CMS demo.
For the sake of this demonstration we will use Option 2, please read on.
1.2. Setup Docker (Step 1)¶
Install docker from here
1.3. Run the demo project in docker (Step 2)¶
Info: The demo project is a minimal django project with some additional requirements in the requirements.txt.
Open the terminal application on your computer and go to a safe folder (i.e. cd
During the installation process, you will be prompted to enter your email address and set a username and password. Open your browser and insert http://localhost:8000/; there you should be invited to login and continue with Step 4: create your first page
1.4. Create your first page (Step 3)¶
Once you login you can press Create on the top right.
Then you will see a pop-up window where the “New page” is marked blue.
Press New Page and select Next.
After selecting Next, you will add in your title and some basic text content for the new page, click Create.
Here is your newly created page.
1.5. Publish your first page (Step 4)¶
The page we just created is just a draft and needs to be published once you finish. As an editor, only you can see and edit your drafts, other visitors to your site will only see your published pages.
Press “Publish page now.”
To edit the page, you can switch back into editing mode using the “Edit” button, and return to the published version of the page using the “view published” button.
In the editing mode, you can double-click on the paragraph of the text to change it, add formatting, and save it again. Any changes that are made after publishing are saved to a draft and will not be visible until you re-publish.
Congratulations, you now have installed django CMS and created your first page.
1. Установка django CMS¶
Мы начнем с настройки нашего окружения.
1.1. Требования¶
django CMS требует Django 1.11 или новее, и Python 2.7 или 3.3 или новее. В этом руководстве предполагается, что вы используете Python 3.
Вы можете найти таблицу совместимости для конкретной версии python here.
1.2. Ваша рабочая среда¶
Мы будем считать, что у вас установлена достаточно свежая версия virtualenv и что вы знакомы с ней на базовом уровне.
1.2.1. Создание и активация виртуальной среды¶
1.2.2. Обновление pip внутри виртуальной среды¶
1.2.3. Используйте программу установки django CMS¶
Создайте новый каталог для работы и cd в него:
Запустите его, чтобы создать новый проект Django под названием mysite :
запустите программу установки django CMS
вызвать новый каталог проекта mysite
Пользователям Windows может потребоваться выполнить дополнительные действия, чтобы убедиться, что файлы Python связаны правильно, если это не сработает сразу:
По умолчанию программа установки запускается в Batch mode и устанавливает ваш новый проект с некоторыми значениями по умолчанию.
Позже вы, возможно, захотите управлять некоторыми из них самостоятельно, в этом случае вам нужно будет запустить его в режиме Wizard mode. По умолчанию в режиме Batch mode создается проект только для английского языка, что будет достаточно для целей данного руководства. Конечно, вы можете просто отредактировать файл settings.py нового проекта в любое время, чтобы изменить или добавить языки сайта или изменить другие настройки.
1.2.4. Запустите сервер запуска¶
Перейдите в каталог mysite
Запустите сервер с помощью следующей команды
Откройте http://localhost:8000/ в браузере, где вам будет предложено войти в систему, а затем создайте новую страницу.
Поздравляем, теперь вы установили полностью функциональную CMS.
Installing django CMS¶
We’ll get started by setting up our environment.
Requirements¶
django CMS requires Django 1.8, 1.9 or 1.10 and Python 2.7, 3.3 or 3.4.
Your working environment¶
We’re going to assume that you have a reasonably recent version of virtualenv installed and that you have some basic familiarity with it.
Create and activate a virtual env¶
Note that if you’re using Windows, to activate the virtualenv you’ll need:
Update pip¶
pip is the Python installer. Make sure yours is up-to-date, as earlier versions can be less reliable:
Use the django CMS installer¶
The django CMS installer is a helpful script that takes care of setting up a new project.
Create a new directory to work in, and cd into it:
Run it to create a new Django project called mysite :
About Django Filer
Django Filer, a useful application for managing files and processing images. Although it’s not required for django CMS itself, a vast number of django CMS addons use it, and nearly all django CMS projects have it installed. If you know you won’t need it, omit the flag. See the django CMS installer documentation for more information.
Windows users may need to do a little extra to make sure Python files are associated correctly if that doesn’t work right away:
By default, the installer runs in Batch mode, and sets up your new project with some default values.
Later, you may wish to manage some of these yourself, in which case you need to run it in Wizard mode. The default in Batch mode is to set up an English-only project, which will be sufficient for the purposes of this tutorial. You can of course simply edit the new project’s settings.py file at any time to change or add site languages or amend other settings.
Start up the runserver¶
Open http://localhost:8000/ in your browser, where you should be presented with your brand new django CMS homepage.
Congratulations, you now have installed a fully functional CMS.
Как установить django CMS вручную¶
Если вы предпочитаете все делать вручную, это руководство поможет вам разобраться с процессом.
Вы также можете использовать это руководство для установки django CMS в рамках существующего проекта. Однако руководство предполагает, что вы начинаете с пустого проекта, поэтому вам нужно будет адаптировать приведенные ниже шаги по мере необходимости.
Этот документ предполагает, что вы обладаете некоторыми базовыми знаниями о Python и Django. После того, как вы интегрировали django CMS в свой проект, вы должны быть в состоянии следовать Учебники для введения в разработку с django CMS.
Установите пакет django CMS¶
Проверьте Python/Django requirements для этой версии django CMS.
Мы настоятельно рекомендуем выполнять все следующие шаги в виртуальной среде. Вы должны знать, как создавать, активировать и утилизировать виртуальные среды с помощью virtualenv. Если вы не знаете, вы можете использовать приведенные ниже шаги для начала работы, но мы советуем вам потратить несколько минут на изучение основ использования virtualenv, прежде чем продолжить работу.
В активированной виртуальной среде virtualenv выполните:
чтобы установить последнюю стабильную версию django CMS.
Создайте новый проект¶
Создайте новый проект:
Если для вас это в новинку, вам следует прочитать official Django tutorial, где рассказывается о начале нового проекта.
Ваш новый проект будет выглядеть следующим образом:
Минимально необходимые приложения и настройки¶
Откройте файл settings.py нового проекта в текстовом редакторе.
УСТАНОВЛЕННЫЕ_APPS¶
Вам нужно будет добавить следующее в его список INSTALLED_APPS :
django-treebeard используется для управления структурой дерева страниц и плагинов django CMS.
django CMS устанавливает django CMS admin style. Это обеспечивает некоторую стилизацию, которая помогает облегчить работу с компонентами администрирования django CMS. Технически это необязательный компонент и его не обязательно включать в вашем проекте, но он настоятельно рекомендуется.
Языковые настройки¶
База данных¶
django CMS требует бэкенда реляционной базы данных. Каждая установка django CMS должна иметь свою собственную базу данных.
Вы можете использовать SQLite, который входит в состав Python и не требует отдельной установки или дополнительной настройки. Вы вряд ли будете использовать его для проекта в производстве, но он идеально подходит для разработки и исследования, тем более что он настроен по умолчанию в DATABASES : нового проекта Django:
Установка и обслуживание систем баз данных выходит далеко за рамки данной документации, но очень хорошо описана на соответствующих сайтах систем.
Какую бы базу данных вы ни использовали, она также потребует установки соответствующего адаптера Python:
Обратитесь к Django’s DATABASES setting documentation за соответствующей конфигурацией для выбранного вами бэкенда базы данных.
Таблицы базы данных¶
Теперь запустите миграции для создания таблиц базы данных для новых приложений:
Ручная установка Django-CMS.
На официальном сайте Django-CMS рекомендован простой и лёгкий способ установки при помощи инсталлятора, но, к сожалению, на момент написания статьи инсталлятор не работает с python3. Поэтому делаем установку руками, благо это несложно.
Перед началом работ нужно убедиться, что на компьютере установлен python3, virtualenv и mysql, а в mysql создана база данных для проекта. Необходимый для работы софт — терминал, текстовый редактор, и под самый конец браузер, чтобы полюбоваться на результаты своего труда.
Немного о структуре проекта. Всё, что касается проекта, будет размещено в одном рабочем каталоге. На практике сайт не создать с использованием только Django, будут и каталоги вроде node_modules, если использовать gulp, sass, js и css-библиотеки или фреймворки и прочие подобные упрощатели жизни. Чтобы всё это не мешалось в трудноразбираемую кучу, в корне рабочего каталога сделаем каталог проекта, и уже в нём будем размещать свои приложения.
Пусть проект называется magic. Создаём рабочий каталог и переходим в него:
Создаём виртуальное окружение в рабочем каталоге:
Затем активируем виртуальное окружение:
Перед приглашением командной строки появится (env) — свидетельство того, что окружение env активировано. Теперь можем переходить к установке пакетов. Устанавливаться они будут в виртуальное окружение, что исключает конфликты с общесистемными пакетами и пакетами для других проектов на той же машине. Все дальнейшие действия следует выполнять при активированном виртуальном окружении.
Установка непосредственно Django-CMS:
Будет установлена django-cms, а также минимальный набор зависимостей. Сохраним список необходимых пакетов:
Подготовительная часть закончена, можно и сам сайт заводить. Создадим каталог под файлы именно проекта и перейдём в него:
Все дальнейшие действия будем выполнять уже в этом каталоге. Создадим скелет проекта:
Точка в конце команды означает текущий каталог. Если её по невнимательности опустить, структура файлов может получиться иной, менее удобной. После выполнения команды в каталоге djangoproject появится скрипт manage.py и каталог magic, содержащий среди прочего файл настроек settings.py.
Теперь следует прописать все необходимые настройки в settings.py.
В INSTALLED_APPS нужно дописать минимально необходимые для работы django-cms приложения:
Добавлять эти приложения лучше в начало, перед теми, которые уже есть по умолчанию. Обязательное же требование в том, что приложение djangocms_admin_style должно располагаться выше приложения django.contrib.admin.
Поскольку Django-CMS использует приложение django.contrib.sites, нужно прописать также и требуемую для этого приложения настройку SITE_ID:
В MIDDLEWARE_CLASSES после классов, имеющихся там по умолчанию, нужно добавить:
В блок TEMPLATES дописать пару процессоров. В итоге этот блок должен выглядеть так:
Укажем шаблоны страниц, которые будут использоваться CMS:
Впоследствии при создании страницы через админ-интерфейс вы сможете выбирать шаблон страницы из тех, которые указаны в этой настройке, либо же наследовать шаблон от страницы, стоящей выше по иерархии страниц.
Соответственно, нужно и создать эти шаблоны. Вот пример минимального шаблона:
Далее следует указать адреса для статических и медиа-файлов. Ничего особенного, всё стандартно:
Разберёмся с поддержкой языков. Django-CMS из коробки поддерживает многоязычность, но сейчас мы ограничимся только одним привычным для нас русским:
И наконец нужно указать реквизиты доступа к базе данных (в вашем случае они могут отличаться):
На этом основные настройки завершены.
Конфигурация адресов. Здесь ничего особенного. Как и при подключении любого приложения, имеющего собственную конфигурацию урлов, подключаем эту конфигурацию при помощи include(). Приведу полностью содержание файла urls.py:
Такой конфигурации хватит надолго. В подавляющем большинстве случаев при добавлении приложений в urls.py ничего менять не придётся, как бы это ни казалось противоречием учебнику по Django.
Настройка mysql. Первое, что нужно сделать, чтобы вообще иметь возможность обращаться к mysql — установить драйвер:
на убунте надо предварительно сделать
Теперь нужно создать начальную структуру базы данных:
И аккаунт администратора (будет задано несколько вопросов):