@Paymir121

Fastapi+django контейнеры в docker-compose, как соединить?

Не могу понять почему django приложение из контейнера не отправляет сообщение контейнеру с fastapi приложением, django падает в ошибку:
Expected a `Response`, `HttpResponse` or `StreamingHttpResponse` to be returned from the view, but received a `<class 'NoneType'>

при этом если отправить запрос на localhost:8001/check в браузере , то ответ будет получен нормальный.
Сеть состоит из postgres,nginx,fastapi и django контейнеров:
nginx.conf:
worker_processes 1;

events { worker_connections 1024; }

http {
    upstream bot_constructor {
        server bot_constructor:8002;
    }

    upstream bot_server {
        server bot_server:8001;
    }

    server {
        listen 80;

        location / {
            proxy_pass http://bot_constructor;
        }

        location /api {
            proxy_pass http://bot_server;
        }
    }
}

docker-compose.yml
version: '3.8'

volumes:
  pg_data:
  static:
  media:

services:
  db:
    image: postgres:13.10
    env_file: .env
    volumes: [pg_data:/var/lib/postgresql/data]
    restart: always
    networks:
      - my_network

  bot_server:
    build: ./bot_server/
    env_file: .env
    ports: [8001:8001]
    depends_on: [db]
    networks:
      - my_network

  bot_constructor:
    build: ./bot_constructor/
    env_file: .env
    ports: [8002:8002]
    depends_on: [db]
    networks:
      - my_network

  gateway:
    build: ./gateway/
    env_file: .env
    ports: [8000:80]
    depends_on: [bot_constructor]
    volumes: [static:/staticfiles/, media:/app/media/]
    networks:
      - my_network

networks:
  my_network:
    driver: bridge

Подскажите куда капать, совсем измучался?
сам проект: https://github.com/modular-platform-it/backend/blo...
  • Вопрос задан
  • 119 просмотров
Решения вопроса 1
@Everything_is_bad
А при чем тут это всё? У тебя проблема в самом django, тебе про это явно в ошибке пишут, что твой view вместо нормально ответа, возвращает None.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы