2013-05-07 3 views
1

내가 처음 장고 응용 프로그램 위로를 얻기 위해 노력하고 있어요,하지만 난이 DB 오류로 실행 해요 : 나는, syncdb 마이그레이션 할 때마다Heroku가 장고 DB 포스트 그레스 오류

OperationalError: could not connect to server: Connection refused 
    Is the server running on host "localhost" and accepting 
    TCP/IP connections on port 5432? 

이, 발생 또는 createsuperuser

내가 구성해야 또는 오전 뭔가 잘못하고를

DATABASES = {'default' : dj_database_url.config(default=os.environ["HEROKU_POSTGRESQL_OLIVE_URL"]) } 

있나요 :

내가 좋아하는 내 데이터베이스 변수를 구성 무엇입니까?

EDIT (SOLVED) : 나 문제를 좁힐 돕는

덕분에, 나는 해결책을 발견했습니다.

처음으로 heroku에 배포 한 이래 처음으로 두장의 장고 디렉토리 형식을 사용했습니다. 나는 당신의 구문이 바로 보인다

python manage.py syncdb --app.settings.demo 
+0

"HEROKU_POSTGRESQL_OLIVE_URL"이 (가) 정의되어 있습니까? Heroku에는 몇 가지 데이터베이스 옵션이 있습니다. –

답변

1

할 필요가

.../settings 
    base.py 
    local.py 
    production.py 
    demo.py 
    # ... 

같은 폴더가 보이는 대신 내 설정 beause

python manage.py syncdb # would be okay 

같은 일을 생각하면 HEROKU_POSTGRESQL_OLIVE_URL을 추진 확인한 후에 DATABASE_URL를 사용해보십시오 , 비록 승진되지 않더라도 그것은 작동해야한다.

$ heroku pg:promote HEROKU_POSTGRESQL_OLIVE_URL 

다음 :이 설정이 작동해야

import dj_database_url 

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

. 그렇지 않으면 올바른 설정 파일에서 작업하고 있는지 확인하십시오. 다음

$ heroku run python manage.py shell 

과 : 당신은 실행하여이를 확인할 수

>>> from django.conf import settings 
>>> print settings.DATABASES['default'] 

및 결과를 확인합니다.

+0

이 작업을 시도했지만 여전히 동일한 오류가 발생했습니다. – Derek

0

.gitignore에서 오류가 발생했으며 내 로컬 설정이 실수로 Heroku에 의해 설정되고있었습니다.

이로 인해이 오류 메시지 메시지가 나타납니다.