Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/278.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.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-将数据库添加到heroku时出错_Python_Django_Heroku - Fatal编程技术网

Python django-将数据库添加到heroku时出错

Python django-将数据库添加到heroku时出错,python,django,heroku,Python,Django,Heroku,我正努力在heroku上部署我的应用程序。主要是由于数据库配置 这是settings.py文件的底部 import dj_database_url DATABASES = { 'default': dj_database_url.config() } try: from .local_settings import * except ImportError: pass 这是我的本地_settings.py文件 import dj_database_url DATABASE

我正努力在heroku上部署我的应用程序。主要是由于数据库配置

这是settings.py文件的底部

import dj_database_url

DATABASES = { 'default': dj_database_url.config() }

try:
    from .local_settings import *
except ImportError:
    pass
这是我的本地_settings.py文件

import dj_database_url

DATABASES = { 'default': dj_database_url.config() }

try:
    from .local_settings import *
except ImportError:
    pass
导入操作系统 BASE_DIR=os.path.dirname(os.path.dirname(文件

我可以成功运行heroku本地网站

但是当我运行时,
heroku运行python manage.py migrate
,它会给我错误

django.db.utils.OperationalError: could not connect to server: Connection refused
    Is the server running on host "localhost" (127.0.0.1) and accepting
    TCP/IP connections on port 5432?
当我运行时,
heroku运行python manage.py shell

然后跑

>>> import dj_database_url
>>> dj_database_url.config()
我从字典里得到了数据库的全部信息


问题出在哪里?

首先尝试从
local\u settings.py
导入设置,然后更改
数据库
设置

import dj_database_url
try:
    from .local_settings import *
except ImportError:
    pass

DATABASES = { 'default': dj_database_url.config() }
您已经在文件中定义了一个
数据库
变量,但是当您导入
本地设置.py
时,您的
数据库
配置将被开发值覆盖。您应该先进行导入,然后更改
数据库
选项

就个人而言,我建议您保留一个
base\u settings.py
来包含除数据库以外的所有设置,然后将其导入
heroku\u settings.py
,而不是导入整个
本地设置


保持
基本设置
开发设置
heroku设置
(或生产设置)将使部署更容易处理。

不应部署本地设置文件。它仅供本地使用,因此得名。您应该将它从git回购中排除。

为什么不应该部署它?因为它是本地使用的。正如另一个答案所说,它覆盖了生产数据库设置,从而删除了dj_数据库_url的全部内容。