我用 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 解释器配置:
再一次,一切似乎都像一个魅力,但在 PyCharm 中却不是:(
我真的很感激任何帮助!谢谢!