django dj-database-url 运行极慢
django dj-database-url runs extrem slow
当我在本地计算机上的 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"])}
这样,如果 DATABASE_URL
未定义,您将立即收到错误消息。
如果问题仍然存在,请添加:
print "*" * 80
print dj_database_url.config(os.environ["DATABASE_URL"])
print "*" * 80
到您的 settings.py
文件,这样您就可以准确地看到 dj_database_url
返回的内容,并将其与您的 "hand-written" 数据库配置进行比较。
因此,就我而言,解决方案是一个简单的更改。我只是将 DATABASE_URL 从
更改为
DATABASE_URL=postgres://user:passwd@localhost:5432/my_db
到
DATABASE_URL=postgres://user:passwd@127.0.0.1:5432/my_db
而且有效!
当我在本地计算机上的 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"])}
这样,如果 DATABASE_URL
未定义,您将立即收到错误消息。
如果问题仍然存在,请添加:
print "*" * 80
print dj_database_url.config(os.environ["DATABASE_URL"])
print "*" * 80
到您的 settings.py
文件,这样您就可以准确地看到 dj_database_url
返回的内容,并将其与您的 "hand-written" 数据库配置进行比较。
因此,就我而言,解决方案是一个简单的更改。我只是将 DATABASE_URL 从
更改为DATABASE_URL=postgres://user:passwd@localhost:5432/my_db
到
DATABASE_URL=postgres://user:passwd@127.0.0.1:5432/my_db
而且有效!