Datanar - Нативная установка
Это инструкция, которая по шагам распишет нативное развёртывание сайта на локальной машине, приятного чтения!
- Установка Python
- Установка Git
- Установка gettext
- Установка Redis
- Установка Postgres
- Клонирование репозитория
- Установка виртуального окружения
- Установка зависимостей
- Настройка сервера
- Запуск сервера Django
Для запуска этого проекта вам потребуется Python
Если у вас его еще нет, вы можете скачать его с официального сайта, рекомендуется установить версию в диапазоне 3.9 - 3.12 (но лучше всё же 3.12)
- Скачайте установщик Git с официального сайта
- Запустите установщик и следуйте инструкциям на экране
- Откройте терминал
- Установите Git с помощью Homebrew:
brew install git
- Откройте терминал
- Обновите список пакетов:
sudo apt update
- Установите Git с помощью следующей команды:
sudo apt install git
После установки Git с помощью команды git --version
вы можете проверить его
версию и убедиться, что он установлен правильно
- Скачать установщик gettext для windows
- Запустите установщик и следуйте инструкциям на экране
- Откройте терминал
- Установите gettext с помощью Homebrew:
brew install gettext
- Откройте терминал
- Установите gettext с помощью следующей команды:
sudo apt install gettext
Для celery (очередь задач, для обработки файлов со ссылками) требуется установить redis. Этот шаг можно пропустить, если этот функционал не нужен.
Redis официально не поддерживает Windows, поэтому ниже описанный способ может не сработать (лично у нас получилось, но только без виртуального окружения)
- Скачать неофициальный порт
и запустить установщик msi (от имени администратора). В диспетчере задач в
службах должна появится служба
Redis
- Откройте терминал
- Установите Redis с помощью Homebrew:
brew install redis
- Запустите Redis:
brew services start redis
- Откройте терминал
- Установите Redis с помощью следующей команды:
sudo apt install redis
Postgresql - мощная и современная система управления базой данных. Хорошо подходит как БД в боевой среде. Его установку можно пропустить, при простой нативной установке, а в качестве замены использовать более простую sqlite3 (база данных в одном файле)
- Скачать установщик (рекомендуемая версия 16, но можно и 15)
- Запустить установщик и следовать инструкциям на экране, вас попросят придумать и ввести пароль для суперпользователя, запомните его
- Откройте терминал
- Перейдите в директорию установки используя команду
cd
, скорее всего команда полностью выглядит так:cd C:\Program Files\PostgreSQL\16\bin
- Запустите postgres клиент (введя пароль, который вы вводили при установке):
psql -U postgres
- Откройте терминал
- Установите Postgresql c помощью Homebrew:
brew install postgresql
- Запустите Postgresql:
brew services start postgresql
- Запустите postgres клиент:
psql -U postgres
- Откройте терминал
- Установите Postgresql с помощью следующей команды:
sudo apt install postgresql
- Запустите postgres клиент:
sudo -u postgres psql
Теперь когда вы запустили postgres клиент, создайте БД для проекта, а также пользователя, которой будет с ней работать:
CREATE USER webmaster WITH PASSWORD 'this_very_secret_password_for_database';
CREATE DATABASE database;
GRANT ALL PRIVILEGES ON DATABASE database TO webmaster;
ALTER ROLE "webmaster" SET timezone TO 'UTC';
ALTER ROLE "webmaster" SET client_encoding TO 'utf8';
И не забудьте выйти из postgres клиента и вернуться к проекту
exit;
- Откройте терминал
- Перейдите в директорию, где вы хотите сохранить проект, используя
cd
. Например:cd %USERPROFILE%\Documents\myProjects
илиcd ~/myProject
- Клонируйте репозиторий, используя следующую команду:
git clone https://github.com/Gray-Advantage/Datanar-Django.git
Warning
Лично у нас на Windows не получилось запустить redis в виртуальном окружении, поэтому если вы его установили и сталкиваетесь с ошибками, попробуйте не создавать его (пропустить шаг 2 и 3 и просто перейти в директорию)
Note
Стоит отметить, что не всегда на linux будет работать python3, а на windows python, попробуйте оба варианта написания команды
- В терминале перейдите в директорию проекта:
cd datanar
- Создайте виртуальное окружение:
python -m venv venv
- Активируйте виртуальное окружение:
venv\Scripts\activate
- В терминале перейдите в директорию проекта:
cd datanar
- Создайте виртуальное окружение:
python3 -m venv venv
- Активируйте виртуальное окружение:
source venv/bin/activate
Note
Как и с python/python3 возможны два варианта команд - c pip
или c pip3
Установите все необходимые пакеты для работы в боевой среде, используя prod.txt
pip install -r requirements/prod.txt
Необязательно, но можно установить и test.txt для проверки целостности проекта
pip install -r requirements/test.txt
Установить сразу и prod.txt и test.txt зависимости можно через dev.txt
pip install -r requirements/dev.txt
-
Создайте в корне проекта файл
.env
скопировав содержимое из.env.example
- На Windows:
copy .env.example .env
- На Mac или Linux:
cp .env.example .env
И измените все настройки в соответствии с этой инструкцией. Если не добавить
.env
или просто продублировать информацию из.env.example
в.env
, приложение будет запущено с дефолтными настройками, что не рекомендуется по соображениям безопасности, а также часть функций либо не будет работать, либо и вовсе вызовет ошибки. - На Windows:
-
Скомпилируйте файлы локализации данного проекта:
django-admin compilemessages
Если возникает ошибка, то перейдите в директорию
datanar
:cd datanar
И повторите немного изменённую команду:
- Windows
python manage.py compilemessages
- macOS или linux (Debian / Ubuntu)
python3 manage.py compilemessages
Перейдите в директорию
datanar
, если вы этого ещё не сделали:cd datanar
- Windows
-
Создайте первую миграцию базы данных:
- Windows
python manage.py migrate
- macOS или linux (Debian / Ubuntu)
python3 manage.py migrate
- Windows
-
Также сделайте сбор статики, если будет предупреждение про перезапись файлов введите "yes":
- Windows
python manage.py collectstatic
- macOS или linux (Debian / Ubuntu)
python3 manage.py collectstatic
- Windows
-
И последние - создать суперпользователя (админа) сайта:
- Windows
python manage.py init_superuser
- macOS или linux (Debian / Ubuntu)
python3 manage.py init_superuser
Будет создан суперпользователь с логином, почтой и паролем из
.env
файла. Теперь при авторизации с этими данными на сайте в правом верхнем углу, нажав на свою аватарку, вы увидите в списке пункты "Панель управления" и "Админка" - Windows
Запустите рабочий процесс celery в новой консоли (только если установили Redis):
celery -A datanar worker -l INFO
Установив зависимости test.txt
, вы также получите
возможность запустить тесты для локальной проверки целостности проекта:
- Windows
python manage.py test
- macOS или linux (Debian / Ubuntu)
python3 manage.py test
Ожидаемый результат после выполнения команды: OK
Ну и наконец, запустите сервер Django:
- Windows
python manage.py runserver 0.0.0.0:8000
- MacOS или Linux (Debian / Ubuntu)
python3 manage.py runserver 0.0.0.0:8000
После запуска вы должны иметь возможность открыть проект в браузере по адресу http://127.0.0.1:8000/ или http://localhost:8000/.
Вы превосходны и роскошны! ©
Important
Помните, что Django при DATANAR_DJANGO_DEBUG=False
не отдаёт статику
(например картинки), для этого обычно настраивают отдельный web-сервер
(Nginx, например) или же просто запускают Django
в режиме разработки (DATANAR_DJANGO_DEBUG=True
). См. подробней о
DATANAR_DJANGO_DEBUG