Как использовать Django/Nodejs с DDEV

Я много работаю с DDEV в своих PHP проектах и мне нравятся возможности, которые предлагает DDEV. Поскольку я также работаю с проектами Django и NodeJS, я хотел бы использовать их в сочетании с DDEV. Официально они пока не поддерживаются в текущей версии (1.18), но может быть кто-то уже нашел решение?

Для быстрого и грязного ответа по django я хотел бы познакомить вас с простым и, вероятно, неадекватным подходом, но он показывает, как легко добавить что-то вроде django. Мы просто будем использовать сервер django dev.

  1. Создайте каталог, я назвал свой dj и cd dj
  2. .
  3. ddev config --auto
  4. Добавьте к .ddev/config.yaml:
webimage_extra_packages: [python3-django]
hooks:
  post-start:
    - exec: python3 manage.py runserver 0.0.0.0:8000
  1. Добавьте .ddev/docker-compose.django.yaml:
version: "3.6"
services:
  web:
    expose:
      - 8000
    environment:
      - HTTP_EXPOSE=80:8000
      - HTTPS_EXPOSE=443:8000
    healthcheck:
      test: "true"
  1. ddev start
  2. ddev ssh и создайте тривиальный проект django:
  3. django-admin startproject dj .
  4. Добавьте в свой dj/settings.py ALLOWED_HOSTS = ["dj.ddev.site"]
  5. .
  6. Выйдите обратно на хост с помощью ctrl-D или exit и ddev start
  7. .
  8. Вы должны иметь доступ к тривиальному проекту по адресу https://dj.ddev.site

Обратите внимание, что по ходу дела вы, вероятно, захотите в итоге запустить сервер django другим способом, или, что более вероятно, фактически запустить его с помощью сервера ddev-webserver nginx, что было бы более естественно (как в https://docs.nginx.com/nginx/admin-guide/web-server/app-gateway-uwsgi-django/). Но пока это простая демонстрация. Буду рад помочь вам в процессе работы.

Вернуться на верх