나는 Heroku docs on Django and Static Assets 공식을 추적했습니다. 나는 dj-static
를 설치하고 내 requirements.txt
파일에 추가, 제대로 내 settings.py
파일에있는 모든 변수를 구성한 :Heroku에 내 장고 앱을 배포 할 때 collectstatic이 자동으로 실행되지 않는 이유는 무엇입니까?
STATIC_ROOT = os.path.join(CONFIG_ROOT, 'served/static/')
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(CONFIG_ROOT, 'static'),
)
을 그리고 이것은 내 wsgi.py
같은 모습입니다 : Procfile
의
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "my_django_project.settings")
from django.core.wsgi import get_wsgi_application
from dj_static import Cling
application = Cling(get_wsgi_application())
내용을 :
web: gunicorn --bind 0.0.0.0:$PORT my_django_project.wsgi:application
docs에서 "collectstatic은 자동으로 실행됩니다. 제대로 구성되었습니다. " 하지만 내 사이트를 탐색 할 때 명확하게 CSS가 없습니다.
heroku run
을 사용하여 debugging을 시도했지만 예상대로 정적 파일을 복사합니다.
나는 예상대로 작동 내 Procfile
에서 collectstatic
명령, 즉
web: python my_django_project/manage.py collectstatic --noinput ; gunicorn -b 0.0.0.0:$PORT my_django_project.wsgi:application
을 ... 포함, 때 정적 파일이 제공되는 것으로 나타났습니다.
그러나 이상한 점은 heroku run bash
을 실행하고 STATIC_ROOT
이 가리키는 디렉토리를 보면 거기에 아무 것도 없다는 것입니다. 실제로 전체 served/
디렉토리가 누락되었지만 정적 파일은 여전히 제공됩니다!
나는 왜 collectstatic
이 자동으로 실행되고 있는지 알고 싶습니다. - 문서에서 언급 한 것처럼 - 나는 장고 앱을 Heroku에 배포합니다.
확인하기 http://stackoverflow.com/a/15858757/263989 – fasouto
@fasouto 시도해 보았습니다. 어떤 오류도 발생하지 않았습니다. 나는''Copy ... ''와'284 static files copied.'라는 메시지를 마지막에 보냈습니다. – 3cheesewheel