Статическая (reference):
http://127.0.0.1:8008/api/redoc/v1/
http://127.0.0.1:8008/api/swagger/v1/
Динамическая:
http://127.0.0.1:8008/api/dynamic_doc/v1/download/
http://127.0.0.1:8008/api/redoc/v1/dynamic/
http://127.0.0.1:8008/api/swagger/v1/dynamic/
Python 3.11
Django 4.1
Django REST Framework 3.14.0
DRF-Spectacular 0.26.5
Simple JWT 5.3.0
PostgreSQL 16
-
Установить сервер баз данных PostgreSQL версии 16 и выше (документация)
-
Создать базу данных PostgreSQL
-
Cоздать и активировать виртуальное окружение:
py -3.11 -m venv venv (Windows)
python3 -m venv venv (Linux, MacOS)
source venv/Scripts/activate (Windows)
source venv/bin/activate (Linux, MacOS)
- Обновить pip:
python -m pip install --upgrade pip
- Установить зависимости:
pip install -r requirements.txt
- Скопировать файл .env_sample и переименовать в .env. Установить значения параметров в файле:
DB_ENGINE=django.db.backends.postgresql
POSTGRES_DB=<db name>
POSTGRES_USER=<postgres user>
POSTGRES_PASSWORD=<postgres password>
DB_HOST=<db host>
DB_PORT=<db port>
DEBUG=<boolean>
DJANGO_SECRET_KEY=<secret key>
ALLOWED_HOSTS=<ip address> <domain name>
PASSWORD_RESET_TIMEOUT=<seconds> # confirmation link lifetime
ACCESS_TOKEN_LIFETIME=<seconds>
REFRESH_TOKEN_LIFETIME=<seconds>
EMAIL_HOST_USER = <email address>
EMAIL_HOST_PASSWORD = <email password>
EMAIL_USE_SSL=<boolean>
EMAIL_HOST=<mail server domain name>
EMAIL_PORT=<mail port>
FROM_EMAIL=<sender name>
- Выполнить миграции:
python manage.py makemigrations
python manage.py migrate
- Импортировать тестовые данные о компаниях
python manage.py loaddata ../test_data_companies.json
Содержимое папки 'test_data_companies_media' скопировать в папку 'main/media'
- Создать суперпользователя:
python manage.py createsuperuser
10.Запустить проект:
python manage.py runserver 8008