Как использовать Django/Nodejs с DDEV
Я много работаю с DDEV в своих PHP проектах и мне нравятся возможности, которые предлагает DDEV. Поскольку я также работаю с проектами Django и NodeJS, я хотел бы использовать их в сочетании с DDEV. Официально они пока не поддерживаются в текущей версии (1.18), но может быть кто-то уже нашел решение?
Для быстрого и грязного ответа по django я хотел бы познакомить вас с простым и, вероятно, неадекватным подходом, но он показывает, как легко добавить что-то вроде django. Мы просто будем использовать сервер django dev.
- Создайте каталог, я назвал свой
dj
иcd dj
.
ddev config --auto
- Добавьте к
.ddev/config.yaml
:
webimage_extra_packages: [python3-django]
hooks:
post-start:
- exec: python3 manage.py runserver 0.0.0.0:8000
- Добавьте
.ddev/docker-compose.django.yaml
:
version: "3.6"
services:
web:
expose:
- 8000
environment:
- HTTP_EXPOSE=80:8000
- HTTPS_EXPOSE=443:8000
healthcheck:
test: "true"
ddev start
ddev ssh
и создайте тривиальный проект django:django-admin startproject dj .
- Добавьте в свой
dj/settings.py
ALLOWED_HOSTS = ["dj.ddev.site"]
.
- Выйдите обратно на хост с помощью
ctrl-D
илиexit
иddev start
.
- Вы должны иметь доступ к тривиальному проекту по адресу
https://dj.ddev.site
Обратите внимание, что по ходу дела вы, вероятно, захотите в итоге запустить сервер django другим способом, или, что более вероятно, фактически запустить его с помощью сервера ddev-webserver nginx, что было бы более естественно (как в https://docs.nginx.com/nginx/admin-guide/web-server/app-gateway-uwsgi-django/). Но пока это простая демонстрация. Буду рад помочь вам в процессе работы.