簡體   English   中英

難以將現有的Django應用程序推送到Heroku。 數據庫配置不正確

[英]Difficult pushing existing django application to Heroku. Database improperly configured

因此,我有一個完成的Django應用程序,盡管遇到了一些問題,但我現在嘗試將其上傳到Heroku進行生產。 我一直在關注Heroku網站上的教程:

https://devcenter.heroku.com/articles/django-app-configuration#migrating-an-existing-django-project

https://devcenter.heroku.com/articles/getting-started-with-django#declare-process-types-with-procfile

雖然我遇到這個錯誤:

settings.DATABASES is improperly configured. Please supply the ENGINE value. Check settings documentation for more details.

聽起來我需要將數據庫上傳到S3,以便Heroku可以訪問它,所以我在本教程中做到了

https://devcenter.heroku.com/articles/heroku-postgres-import-export#import

但我仍然遇到錯誤。 這是我的一些設置。

Settings.py

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'texchange',
        'USER': 'joe',
        'PASSWORD': '#######',
        'HOST': 'localhost',
        'PORT': '',
    }
}


STATICFILES_DIRS = (
    ('/static/',
    '/home/joe/Documents/exchange/Texchange/textchange/static/',),
    ('/media/',
    '/home/joe/Documents/exchange/Texchange/textchange/media/'),
)

MEDIA_ROOT = '/home/joe/Documents/exchange/Texchange/textchange/media/'

MEDIA_URL = '/media/'

STATIC_ROOT = '/home/joe/Documents/exchange/Texchange/textchange/static/'

STATIC_URL = '/static/'

# Parse database configuration from $DATABASE_URL
import dj_database_url
DATABASES['default'] = dj_database_url.config()

# Enable Persistent Connections
DATABASES['default']['CONN_MAX_AGE'] = 500

我到底不明白什么? 任何方向將不勝感激,因為這是我第一次使用Heroku和S3上傳應用程序。

您在評論中提到僅當您運行heroku local時才會發生此問題,這是完全不同的問題,並且肯定是您應該在問題開始時提到的問題。 顯然,這不是要“將應用程序上傳到Heroku”,也不是要讓Heroku找不到數據庫,因為您甚至還沒有在Heroku上運行,而是在本地運行。

幾乎可以肯定會出現問題,因為在您的本地環境中您沒有DATABASE_URL,但是您對dj_database_url的調用完全覆蓋了現有的默認數據庫配置。

解決此問題的兩種方法是在該呼叫周圍設防:

if os.environ['DATABASE_URL']: 
    DATABASES['default'] = dj_database_url.config()

或者,最好完全刪除DATABASES字典聲明,並對該庫使用默認參數:

DATABASES = {'default': dj_database_url.config(default='postgres://joe:####@localhost/texchange')}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM