Установка django.setup() между контейнерами в docker-compose

Я создаю приложение в docker, которое содержит два сервиса, один из которых - приложение django, а второй - сервер websockets для игры в шахматы, который содержит client.py server.py chess.py. Вся игра ведется на терминалах, во время работы сервера оба игрока могут играть, запуская client.py на своих терминалах.

Теперь я хочу интегрировать сервер websockets с django и заставить игроков аутентифицироваться, предоставляя токен, сгенерированный в django-sesame, как в этом docs, но я получаю ошибку в строке django.setup():

django.core.exceptions.ImproperlyConfigured: Запрошена настройка LOGGING_CONFIG, но настройки не настроены. Вы должны либо определить переменную окружения DJANGO_SETTINGS_MODULE, либо вызвать settings.configure() перед доступом к настройкам.

.

Я предполагаю, что мне нужно указать на настройки django, но у меня нет доступа, так как он находится в другом контейнере. Как я могу это сделать?

Код из упомянутой документации:

import asyncio

import django
import websockets

django.setup()

from sesame.utils import get_user


async def handler(websocket):
    sesame = await websocket.recv()
    user = await asyncio.to_thread(get_user, sesame)
    if user is None:
        await websocket.close(1011, "authentication failed")
        return

    await websocket.send(f"Hello {user}!")


async def main():
    async with websockets.serve(handler, "localhost", 8888):
        await asyncio.Future()  # run forever


if __name__ == "__main__":
    asyncio.run(main())

Я пытался указать на настройки по

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "code.app.app.settings")
django.setup()

Но я получил ошибку:

ModuleNotFoundError: Нет модуля с именем 'code.app'; 'code' не является пакетом

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