首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Dockerized化的Django REST应用程序和PostgreSQL DB

Dockerized化的Django REST应用程序和PostgreSQL DB
EN

Stack Overflow用户
提问于 2018-05-02 07:16:54
回答 2查看 62关注 0票数 0

有没有什么办法使我不需要在每次决定运行应用程序时都更改settings.py文件?我的意思是:

我想用docker运行-Every应用程序的时间--编写我的settings.py文件如下所示:

代码语言:javascript
复制
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'agent_technologies_db',
        'USER': 'stefan_radonjic',
        'PASSWORD': 'cepajecar995',
        'HOST': 'db', 
        'PORT': '',
        }
}

-And每次我想在我的本地机器上运行我的应用程序时,我的settings.py看起来像这样:

代码语言:javascript
复制
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'agent_technologies_db',
        'USER': 'stefan_radonjic',
        'PASSWORD': 'cepajecar995',
        'HOST': 'localhost', 
        'PORT': '',
        }
}

有什么办法可以解决这个问题吗?

这是我的docker-compose.yml文件的样子:

代码语言:javascript
复制
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
EN

回答 2

Stack Overflow用户

发布于 2018-05-02 09:27:46

最简单的方法:使用两个单独的设置文件。

在本地计算机上运行时,请使用settings.py

这样,容器内的应用程序将只看到预期的settings.py文件。

代码语言:javascript
复制
volumes: 
  - .:/agent-technologies
  - settings-docker.py:/app/settings.py
票数 0
EN

Stack Overflow用户

发布于 2018-05-02 18:35:56

我已经按照以下链接上提供的解决方案修复了这个问题:

How to properly runserver on different settings for Django?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50125085

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档