Django 앱을 Heroku에 배포하는 데 문제가 발생했습니다. "Cedar 지원 앱이 감지되지 않았습니다."

여기에 제공된 지침에 따라 작은 Django 웹 앱을 배포하는 데 어려움을 겪고 있습니다 . 내 개발에서 내 앱을 빌드하는 데 sqlite3 만 사용했으며 모든 것이 Django 개발 서버에서 잘 작동합니다. Heroku에 배포하려고하면 "푸시가 거부되었습니다. Cedar 지원 앱이 감지되지 않았습니다."라는 오류가 표시되지만 앱을 시작하고 실행하는 데 필요한 모든 파일이있는 것 같습니다. 며칠 동안 성공하지 못 했으므로 어떤 제안과 도움을 받겠습니다. 아래는 내 앱의 스케치이지만 내 github repo 에서 모든 것을 자유롭게 선별하십시오 .

landcrab/
    landcrab/ <----- main project
        settings/
            __init__.py
            base.py
            local.py
            production.py
        __init__.py
        urls.py
        db.sqlite3
        wsgi.py
    vcrental/ <----- my app
        admin.py
        ....
    static/
        ....
    .gitignore
    db.sqlite3
    manage.py
    Procfile
    requirements.txt
    runtime.txt

에서 manage.pywsgi.py나는 한 세트os.environ.setdefault("DJANGO_SETTINGS_MODULE", "landcrab.settings.production")

프로필

web: gunicorn landcrab.wsgi --log-file -

requirements.txt (사용 된 pip 동결)

Django==1.7.1
dj-database-url==0.3.0
dj-static==0.0.6
django-toolbelt==0.0.1
gunicorn==19.1.1
jsmin==2.0.11
nose==1.3.4
psycopg2==2.5.4
pyparsing==2.0.3
python-dateutil==2.2
pytz==2014.9
six==1.8.0
static3==0.5.1

runtime.txt

python-3.4.2

설정 파일의 경우이 구조 를 따르려고했습니다.

Production.py

from landcrab.settings.base import *
import dj_database_url

DEBUG = False
TEMPLATE_DEBUG = False

# Parse database configuration from $DATABASE_URL
DATABASES['default'] = dj_database_url.config()
# DATABASES['default'] =  dj_database_url.config(default='postgres://user:pass@localhost/dbname')
# DATABASES['default']['ENGINE'] = 'django.db.backends.postgresql_psycopg2'
# DATABASES = {'default': dj_database_url.config(default=os.environ.get('DATABASE_URL'))}
# DATABASES = {'default': dj_database_url.config(default='postgres://localhost')}

# Honor the 'X-Forwarded-Proto' header for request.is_secure()
SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')

# Allow all host headers
ALLOWED_HOSTS = ['*']

그리고 마지막으로 wsgi.py

import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "landcrab.settings.production") #Edited by me

from django.core.wsgi import get_wsgi_application

#Added by me for Heroku
try:
    from dj_static import Cling
    application = Cling(get_wsgi_application())
except:
    application = get_wsgi_application()

이건 좀 ... 부끄러워. Heroku에 배포하기 전에 변경 사항을 커밋하지 않았습니다. 커밋 후 오류없이 배포 할 수있었습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관