我正在设置与 Django 3 和 Gitlab CI 的持续集成。
以前用 Django 2 完成过,但现在我正在努力用 Django 3 完成工作。显示了这个警告,我想知道这是否是原因:
/usr/local/lib/python3.8/site-packages/django/db/backends/postgresql/base.py:304:RuntimeWarning:通常 Django 将使用到“postgres”数据库的连接来避免针对不需要时(例如,运行测试时)的生产数据库。Django 无法创建到“postgres”数据库的连接,而是使用第一个 PostgreSQL 数据库。
最后这个错误:
django.db.utils.OperationalError:无法将主机名“postgres”转换为地址:名称或服务未知
这是我的配置:
image: python:3.8
services:
- postgres:10.17
variables:
POSTGRES_DB : db_test
POSTGRES_USER : postgres
POSTGRES_PASSWORD : ""
POSTGRES_HOST : postgres
POSTGRES_PORT : 5432
stages:
- tests
cache:
paths:
- ~/.cache/pip/
before_script:
- python -V
- apt-get update && apt install -y -qq python3-pip
- pip install -r requirements.txt
test:
stage: tests
variables:
DATABASE_URL: "postgres://postgres:postgres@postgres:5432/$POSTGRES_DB"
script:
- coverage run manage.py test
- coverage report
coverage: "/TOTAL.+ ([0-9]{1,3}%)/"
如果有人能帮我解决这个问题,将不胜感激。