SPA - single-page application (при изменении страниц контент не перезегружается).
Реализация SPA с помощью django rest framework в качестве бэка и react.js в качестве фронта.
YouTube курс
Список уроков:
- #1 Создание проекта
- #2 AXIOS и тестовое API
- #3 Модели - Manager - QuerySet
- #4 Serializer Viewset Router
- #5 POST PUT DELETE - Создание, изменение и удаление объекта
- #6 Navbar + views.py serializers.py рефакторин
- #7 Категории в Navbar с useEffect
- #8 Немного про React Router Dom
- #9 React Router Dom и match в компоненте
- #10 PostDetail и список постов в категории
Требования:
- python3
- pip
- virtualenv
- nodejs
- npm
# Создаем виртуальное окружение
python3 -m venv venv
# Активируем
source venv/bin/activate
# Устанавливаем питоновские зависимости
pip install -r requirements.txt
# Устанавливаем js зависимости и собираем js часть
cd ./frontend
npm install
npm run build
cd ..
# Создаем необходимые таблицы в бд
python manage.py migrate
# Забираем статику котороую собрал react
python manage.py collectstatic
# Загрузим фикстуры
sh _restore.sh
# Создадим пользователя для админки
python manage.py shell -c \
"from django.contrib.auth.models import User; import os; \
User.objects.create_superuser('admin', 'admin@example.com', os.environ.get('SU_PW', '123456'))"
# запустим сервер
python manage.py runserver 0.0.0.0:8080
Сборка:
docker build -t dr:1.0 --build-arg SU_PW=123456 .
Запуск:
docker run -d -p 8080:8080 dr:1.0
Главная -> http://0.0.0.0:8080
Админка -> http://0.0.0.0:8080/admin/ (admin, 123456, если пароль не был переопрделен).
Так же можно загрузить коллекцию postman, в ней содержаться готовые запросы к API.