Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/299.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 dj数据库url运行极慢_Python_Django_Django Database - Fatal编程技术网

Python django dj数据库url运行极慢

Python django dj数据库url运行极慢,python,django,django-database,Python,Django,Django Database,当我在本地机器上的django项目中设置dj_database_url时,迁移和开发服务器运行非常慢。他们已经跑了,但是非常慢。当我以这种方式设置数据库时,一切正常 正常运行: # settings.py DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'NAME': 'my_db', 'USER': os.environ.get(

当我在本地机器上的django项目中设置dj_database_url时,迁移和开发服务器运行非常慢。他们已经跑了,但是非常慢。当我以这种方式设置数据库时,一切正常

正常运行:

# settings.py
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'my_db',
        'USER': os.environ.get("USER"),
        'PASSWORD': os.environ.get("PASSWORD"),
        'HOST': '127.0.0.1',
        'PORT': '5432',
    }
}
运行缓慢:

# settings.py
import dj_database_url

DATABASES = {'default': dj_database_url.config(default=os.environ.get("DATABASE_URL"))}
我的.env文件

DATABASE_URL=postgres://user:passwd@localhost:5432/my_db

我怀疑问题在于
dj_database_url
版本无意中使用了错误的数据库。要再次检查,我将代码更改为:

DATABASES = {'default': dj_database_url.config(os.environ["DATABASE_URL"])}
因此,如果未定义
数据库URL
,您将立即收到错误

如果您仍然存在问题,请添加:

 print "*" * 80
 print dj_database_url.config(os.environ["DATABASE_URL"])
 print "*" * 80

到您的
settings.py
文件,这样您就可以准确地看到
dj_database\u url
返回的内容,并将其与您的“手写”数据库配置进行比较。

因此在我的例子中,解决方案是一个简单的更改。我只是更改了数据库的URL

DATABASE_URL=postgres://user:passwd@localhost:5432/my_db


而且它有效

这是一个返回<代码>************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************URL未正确设置环境变量。您确定autoenv已正确安装并运行吗?当我在python shell中键入
dj_database_url.config()
时,它将返回正确的值我用于访问.env文件。在这种情况下,请尝试:
print repr(os.environ[“database_url]”)
以仔细检查其中的值是否如您所期望的那样。否则,也许只需使用
dj\u database\u url.config()
,假装世界不是一个可怕和混乱的地方?
DATABASE_URL=postgres://user:passwd@127.0.0.1:5432/my_db