1

我用 docker & docker-composer 设置了 django-cookiecutter 模板。它带有预配置的 django 管理命令(runserver、migrate 等)

当我尝试使用其中任何一个时,我得到以下信息:

ad381d177c42:python -u /opt/.pycharm_helpers/pycharm/django_test_manage.py 测试。/应用程序
测试于 2:17 开始...
为别名“默认”创建测试数据库...
/usr/local/lib/python3.5/site-packages/environ/environ.py:608: UserWarning: /app/config/settings/.env 不存在 - 如果您没有单独配置环境,请创建一。
  “环境分开,创建一个。” % 环境文件)
/usr/local/lib/python3.5/site-packages/django/db/backends/postgresql/base.py:248: RuntimeWarning: 通常 Django 将使用到“postgres”数据库的连接来避免针对不需要时(例如,运行测试时)的生产数据库。Django 无法创建到“postgres”数据库的连接,而是使用默认数据库。
  运行时警告
回溯(最近一次通话最后):
  文件“/usr/local/lib/python3.5/site-packages/django/db/backends/base/base.py”,第 199 行,在 ensure_connection
    self.connect()
  文件“/usr/local/lib/python3.5/site-packages/django/db/backends/base/base.py”,第 171 行,在连接中
    self.connection = self.get_new_connection(conn_params)
  文件“/usr/local/lib/python3.5/site-packages/django/db/backends/postgresql/base.py”,第 176 行,在 get_new_connection
    连接 = Database.connect(**conn_params)
  文件“/usr/local/lib/python3.5/site-packages/psycopg2/__init__.py”,第 164 行,在连接中
    conn = _connect(dsn,connection_factory=connection_factory,异步=异步)
psycopg2.OperationalError:无法连接到服务器:没有这样的文件或目录
    服务器是否在本地运行并接受
    Unix域套接字“/var/run/postgresql/.s.PGSQL.5432”上的连接?

docker-compose up工作非常好。

这是docker-compose.yml

版本:'2'

卷:
  postgres_data_dev: {}
  postgres_backup_dev:{}

服务:
  postgres:
    构建:./compose/postgres
    卷:
      - postgres_data_dev:/var/lib/postgresql/data
      - postgres_backup_dev:/备份
    环境:
      - POSTGRES_USER=预算者

  django:
    建造:
      语境: 。
      dockerfile: ./compose/django/Dockerfile-dev
    命令:/start-dev.sh
    取决于:
      - postgres
    环境:
      - POSTGRES_USER=预算者
      - USE_DOCKER=是
    卷:
      - 。:/应用程序
    端口:
      - “8000:8000”
    链接:
      - postgres
      - 邮件猪

  pycharm:
    建造:
      语境: 。
      dockerfile: ./compose/django/Dockerfile-dev
    取决于:
      - postgres
    环境:
      - POSTGRES_USER=预算者
    卷:
      - 。:/应用程序
    链接:
      - postgres

  邮筒:
    图片:mailhog/mailhog
    端口:
      - “8025:8025”

PyCharm 解释器配置:

django docker-compose服务口译员

pycharm docker-compose服务口译员

再一次,一切似乎都像一个魅力,但在 PyCharm 中却不是:(

我真的很感激任何帮助!谢谢!

4

1 回答 1

1

找到了问题的根源。PyCharm 2016.3.2 忽略了入口点。

Jetbrains bugtracker 上的票

将 PyCharm 恢复到 2016.2.3 使一切正常。

于 2017-01-08T02:39:15.353 回答