如何在Django运行时中进行更改?

时间:2019-03-06 07:36:35

标签: python django docker

在docker上开发django时遇到了困难。对代码进行任何更改时,我需要重新启动整个容器才能使更改生效。

我在本地安装了文件系统,并且更改是在本地进行的。但是,即使我直接在容器中进行更改,进行迁移或touch受影响的文件或wsgi文件,更改也不会生效。

这是撰写文件中的图片

backend:
    container_name: 'backend'
    image: dronetag/alpha-docker/backend
    build: ./images/backend/
    command: >
        sh -c  "
              python manage.py collectstatic --no-input;
              python manage.py migrate;
              gunicorn backend.wsgi -b 0.0.0.0:80;"
    ports:
      - "10080:80"
      - "10443:443"
    volumes:
      - ./src/backend:/src
    depends_on:
      - postgres
    links:
      - redis
      - postgres

Dockerfile

FROM python:3.6
ENV PYTHONUNBUFFERED 1
ENV C_FORCE_ROOT true
RUN mkdir /src
WORKDIR /src
COPY requirements.txt .
RUN pip install -r requirements.txt

1 个答案:

答案 0 :(得分:2)

只要您处于开发环境中,就可以使用django开发服务器,它将相应地刷新所有内容。

只需与gunicorn backend.wsgi -b 0.0.0.0:80交换python manage.py runserver

请注意,这不适合生产环境。但是在那里,您通常不需要重新加载热代码。