Зайти в корневую директорию проекта
(ту, в которой лежат файлы manage.py
, package.json
etc).
Нужен установленный poetry
(pip install poetry).
Далее активировать окружение: poetry shell
.
Я всё делал на python 3.10
, но с другими не слишком старыми тоже должно быть всё ок.
(Можно poetry установить не глобально, тогда окружение активировать,
например, так: python -m venv .venv
, затем source .venv/bin/activate
на Windows последнее немного по-другому, что-то типа .venv/bin/activate.bat
.
Далее установить зависимости бэка: poetry install
Далее зависимости фронта: yarn install
или npm install
Создать файл локальных настроек (по нему приложение определит, что сервер локальный):
touch gn/local_settings.py
(на Windows м.б. touch нет, не знаю, просто руками как-то создать тогда).
Миграции (сейчас используется база sqlite, создаётся в корне проекта):
python manage.py migrate
Запуск локального сервера для разработки:
yarn run serve
Далее зайти на http:https://127.0.0.1:8000
Показан пример использования компонента React,
получение данных с бэка через REST-api,
передачи данных в HTML с бэка,
используются стили из .scss-файла.
Структура директорий сейчас типовая для Django, кроме:
- фронт в папке
front
(прописано вvite.config.ts
) - роутинг Django Rest Framework (DRF) подключается во внешнем
urls.py
(gn/urls.py
), это позволяет DRF автоматически формировать URL-ы в некоторых местах - вьюсеты DRF расположены сейчас в
main/api
, сериализаторы вmain/serializers
- Создать во
front/js/components/root
файл компонента по аналогии сhw.tsx
- В html создать тег, в котором будет прописано наименование этого файла:
<div data-js-component="hw">Loading...</div>
в этот тег компонент автоматически встроится после готовности DOM.