有没有什么办法使我不需要在每次决定运行应用程序时都更改settings.py文件?我的意思是:
我想用docker运行-Every应用程序的时间--编写我的settings.py文件如下所示:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'agent_technologies_db',
'USER': 'stefan_radonjic',
'PASSWORD': 'cepajecar995',
'HOST': 'db',
'PORT': '',
}
}-And每次我想在我的本地机器上运行我的应用程序时,我的settings.py看起来像这样:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'agent_technologies_db',
'USER': 'stefan_radonjic',
'PASSWORD': 'cepajecar995',
'HOST': 'localhost',
'PORT': '',
}
}有什么办法可以解决这个问题吗?
这是我的docker-compose.yml文件的样子:
version: '3'
services:
db:
image: postgres
environment:
- POSTGRES_USER=stefan_radonjic
- POSTGRES_PASSWORD=cepajecar995
- POSTGRES_DB=agent_technologies_db
web:
build: .
command: python manage.py runserver 0.0.0.0:8000
volumes:
- .:/agent-technologies
ports:
- "8000:8000"
links:
- db
depends_on:
- db发布于 2018-05-02 09:27:46
最简单的方法:使用两个单独的设置文件。
在本地计算机上运行时,请使用settings.py。
这样,容器内的应用程序将只看到预期的settings.py文件。
volumes:
- .:/agent-technologies
- settings-docker.py:/app/settings.py发布于 2018-05-02 18:35:56
我已经按照以下链接上提供的解决方案修复了这个问题:
https://stackoverflow.com/questions/50125085
复制相似问题