代码之家  ›  专栏  ›  技术社区  ›  mthecreator

django dj数据库url运行速度非常慢

  •  1
  • mthecreator  · 技术社区  · 9 年前

    当我在本地机器上的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
    
    2 回复  |  直到 9 年前
        1
  •  1
  •   David Wolever    9 年前

    我怀疑问题是 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_数据库_url 正在返回,并将其与您的“手写”数据库配置进行比较。

        2
  •  0
  •   mthecreator    9 年前

    所以在我的情况下,独奏是一个简单的改变。我只是将DATABASE_URL从

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

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

    而且它起作用了!