我已经对接了Django应用程序.我有一个.env文件,DEBUG=1.但当我运行停靠容器时,它显然处于生产模式:DEBUG=FALSE.

这是我的Docker-Compose文件:

version: "3.9"

services:
  app:
    build:
      context: .
      args:
        - DEV=true
    ports:
      - "8000:8000"
    env_file:
      - ./.env
    volumes:
      - ./zijn:/app
    command: >
      sh -c " python manage.py wait_for_db &&
              python ./manage.py migrate &&      
              python ./manage.py runserver 0:8000"
    environment:
      - DB_HOST=db
      - DB_NAME=zijn
      - DB_USER=zijn
      - DB_PASS=235711
      - DEBUG=1
    depends_on:
      - db

  db:
    image: postgres:13-alpine

    volumes:
      - dev-db-data:/var/lib/postgresql/data/
    environment:
      - POSTGRES_DB=dzijn
      - POSTGRES_USER=zijn
      - POSTGRES_PASSWORD=235711

volumes:
  dev-db-data:
  dev-static-data:

和.env文件:

DEBUG=1
SECRET_KEY="django-insecure-kwuz7%@967xvpdnf7go%r#d%lgl^c9ah%!_08l@%x=s4e4&+(u"
DJANGO_ALLOWED_HOSTS=localhost 127.0.0.1 [::1]
DB_NAME="zijn"
DB_USER="zijn"
DB_PASS="235711"
DB_HOST=db
DB-PORT=54326

我的settings.py也是调试模式=True:

SECRET_KEY = os.environ.get('SECRET_KEY')
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = os.environ.get('DEBUG') == "True"



ALLOWED_HOSTS = []
ALLOWED_HOSTS_ENV = os.environ.get('ALLOWED_HOSTS')
if ALLOWED_HOSTS_ENV:
    ALLOWED_HOSTS.extend(ALLOWED_HOSTS_ENV.split(','))

因为它返回消息:

 dotenv.read_dotenv()
dwl_backend-app-1  | CommandError: You must set settings.ALLOWED_HOSTS if DEBUG is False.

并且也不加载模板.

问:如何在DEBUG=True的情况下启动停靠容器?

推荐答案

IIUC,您设置了DEBUG=1,但是您判断了os.environ.get('DEBUG') == "True",它始终是False.

试着把它改成os.environ.get('DEBUG') == "1"

Python相关问答推荐

Django文件上传不起作用:文件未出现在媒体目录或数据库中

Python中两个矩阵的自定义Hadamard风格产物

替换字符串中的点/逗号,以便可以将其转换为浮动

计算所有前面行(当前行)中列的值

如何让 turtle 通过点击和拖动来绘制?

在Python中对分层父/子列表进行排序

在内部列表上滚动窗口

try 与gemini-pro进行多轮聊天时出错

替换字符串中的多个重叠子字符串

如何将ctyles.POINTER(ctyles.c_float)转换为int?

如何将Docker内部运行的mariadb与主机上Docker外部运行的Python脚本连接起来

无法定位元素错误404

Pre—Commit MyPy无法禁用非错误消息

把一个pandas文件夹从juyter笔记本放到堆栈溢出问题中的最快方法?

为一个组的每个子组绘制,

如何在PySide/Qt QColumbnView中删除列

Python避免mypy在相互引用中从另一个类重定义类时失败

如何从pandas DataFrame中获取. groupby()和. agg()之后的子列?

在Google Drive中获取特定文件夹内的FolderID和文件夹名称

从源代码显示不同的输出(机器学习)(Python)