Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django应用程序上的Azure管道:Psycopg2无法初始化单元测试_Python_Django_Postgresql_Azure Pipelines_Psycopg2 - Fatal编程技术网

Python Django应用程序上的Azure管道:Psycopg2无法初始化单元测试

Python Django应用程序上的Azure管道:Psycopg2无法初始化单元测试,python,django,postgresql,azure-pipelines,psycopg2,Python,Django,Postgresql,Azure Pipelines,Psycopg2,我在为我的Django应用程序设置一个小管道时遇到问题 以下是yaml配置: 触发器: -主要 游泳池: vmImage:ubuntu最新版本 战略: 矩阵: 蟒蛇39: PYTHON_版本:“3.9” maxParallel:2 步骤: -任务:UsePythonVersion@0 投入: versionSpec:“$(PYTHON_版本)” 架构:“x64” -任务:DownloadSecureFile@1 姓名:dotEnv 投入: 安全文件:'.env' -任务:PythonScript

我在为我的Django应用程序设置一个小管道时遇到问题

以下是
yaml
配置:

触发器:
-主要
游泳池:
vmImage:ubuntu最新版本
战略:
矩阵:
蟒蛇39:
PYTHON_版本:“3.9”
maxParallel:2
步骤:
-任务:UsePythonVersion@0
投入:
versionSpec:“$(PYTHON_版本)”
架构:“x64”
-任务:DownloadSecureFile@1
姓名:dotEnv
投入:
安全文件:'.env'
-任务:PythonScript@0
displayName:“导出项目路径”
投入:
scriptSource:“内联”
脚本:|
“”“在所有子目录中搜索'manage.py'。”
从全局导入iglob
从操作系统导入路径
#Python>=3.5
manage_py=next(iglob(path.join('**',manage.py'),recursive=True),无)
如果不进行管理,请执行以下操作:
raise SystemExit('找不到Django项目')
project\u location=path.dirname(path.abspath(manage\u py))
打印('在中找到Django项目',项目位置)
打印('##vso[task.setvariable=projectRoot]{}'。格式(项目位置))
-任务:CopyFiles@2
displayName:'添加.env文件'
投入:
SourceFolder:“$(Agent.TempDirectory)”
目录:'.env'
TargetFolder:“$(projectRoot)”
-脚本:|
python-m pip安装--升级pip设置工具轮子pipenv
pipenv安装unittest xml报告
displayName:“安装必备软件”
-脚本:python-m pipenv lock-r>requirements.txt
displayName:“从Pipfile创建requirements.txt”
-脚本:pipenv安装
displayName:“安装要求”
-脚本:|
pushd“$(projectRoot)”命令
pipenv运行python manage.py测试--testrunner xmlrunner.extra.djangTestRunner.XMLTestRunner--无输入
displayName:“运行测试”
-任务:PublishTestResults@2
投入:
testResultsFiles:“**/TEST-*.xml”
testRunTitle:'Python$(Python_版本)'
条件:成功或失败()
当Django无法创建测试数据库时,
runtests
脚本启动时会出现问题,但错误消息似乎非常普遍:

psycopg2.OperationalError:无法连接到服务器:连接被拒绝
服务器是否在主机“localhost”(::1)上运行并接受
端口5432上的TCP/IP连接?
我应该添加创建PostgreSQL数据库的步骤吗

是否可以使用较轻的解决方案运行。。但是没有为CI创建另一个settings.py模块(这似乎并不理想)


您可以看看这个,尝试更改
HOST
。在最后的评论中,如果我想在容器外部使用它,我应该只使用localhost:5432,这与我当前的代码相同。
DATABASES = {
    "default": {
        "ENGINE": "django.db.backends.postgresql",
        "NAME": os.environ.get("DB_NAME", ""),
        "USER": os.environ.get("DB_USER", ""),
        "PASSWORD": os.environ.get("DB_PASS", ""),
        "HOST": "localhost",
        "PORT": "5432",
    }
}