python - 如何在 Django 运行时中进行更改?
问题描述
在我的 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
解决方案
只要您在开发环境中,您就可以使用 django 开发服务器,它会相应地刷新所有内容。
只需gunicorn backend.wsgi -b 0.0.0.0:80
与python manage.py runserver
.
请注意,这不适合生产环境。但是在那里你通常不需要热代码重新加载。
推荐阅读
- spring-boot - spring boot 不接 custmize trustManager
- mysql - (Amazon Linux) MySQL 在 EC2 重启时停止工作
- php - NGINX 总是强制下载 PHP 页面
- java - JOOQ 更新集不填充值
- sql - 使用限制性 where 子句(非常小的行子集)的内部连接的性能非常慢
- dojo - DoJo 增强的网格动态更新约束不起作用
- r - 无效的下标类型“列表”Azure 机器学习
- ios - '尝试将第 0 行插入第 0 节,但更新后第 0 节中只有 0 行' 向表中插入行时
- android - 使用 viewpager 进行圆形过渡的片段
- xml - XSLT 无法将 DITA 转换为新类型