내 애플 내 로컬 정상적으로 실행 장고 정적 수집하여 내가 오류없이Heroku가 오류가 1.10
python manage.py collectstatic --noinput
를 실행할 수 있습니다.
$ python manage.py collectstatic --noinput
Traceback (most recent call last):
File "manage.py", line 22, in <module>
execute_from_command_line(sys.argv)
File "/app/.heroku/python/lib/python2.7/site-packages/django/core/management/__init__.py", line 367, in execute_from_command_line
utility.execute()
File "/app/.heroku/python/lib/python2.7/site-packages/django/core/management/__init__.py", line 359, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/app/.heroku/python/lib/python2.7/site-packages/django/core/management/base.py", line 294, in run_from_argv
self.execute(*args, **cmd_options)
File "/app/.heroku/python/lib/python2.7/site-packages/django/core/management/base.py", line 345, in execute
output = self.handle(*args, **options)
File "/app/.heroku/python/lib/python2.7/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 193, in handle
collected = self.collect()
File "/app/.heroku/python/lib/python2.7/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 115, in collect
for path, storage in finder.list(self.ignore_patterns):
File "/app/.heroku/python/lib/python2.7/site-packages/django/contrib/staticfiles/finders.py", line 112, in list
for path in utils.get_files(storage, ignore_patterns):
File "/app/.heroku/python/lib/python2.7/site-packages/django/contrib/staticfiles/utils.py", line 28, in get_files
directories, files = storage.listdir(location)
File "/app/.heroku/python/lib/python2.7/site-packages/django/core/files/storage.py", line 399, in listdir
for entry in os.listdir(path):
OSError: [Errno 2] No such file or directory: '/tmp/build_732715d9b29ba88f9eb56ca3d7e722de/MY_REAL_APP_NAME/static'
을 그래서 내 빌드 거부 : 빌드 프로세스의 마지막에 Heroku가에 밀어 그러나 나는 다음과 같은 오류가 발생합니다. OSError: [Errno 2] No such file or directory: '/tmp/MakeCalls/Static'을 보았지만 내 STATICFILES_DIRS
을 제거하면 앱이 배포되지만 모든 정적 애셋에는 404 오류가 발생합니다. Heroku exactly에 대한 지침을 따르고 있지만 작동하지 않는 것 같습니다. 내가 heroku local web
을 실행할 때
import os
from django.core.wsgi import get_wsgi_application
from whitenoise.django import DjangoWhiteNoise
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "fortuno.settings")
application = get_wsgi_application()
application = DjangoWhiteNoise(application)
이 모두 내 로컬에 확인 작업을하는 것, 그리고 :
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
PROJECT_ROOT = os.path.dirname(os.path.abspath(__file__))
STATIC_ROOT = os.path.join(PROJECT_ROOT, 'staticfiles')
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(PROJECT_ROOT, 'static'),
)
STATICFILES_STORAGE = 'whitenoise.django.GzipManifestStaticFilesStorage'
ALLOWED_HOSTS = ['*']
내 wsgi.py
파일을 내 settings.py
파일의 관련 부분은 다음과 같습니다. 정적 오류를 일으키는 원인은 무엇입니까?
settings.py
import os
def root(folder):
return os.path.join(os.path.abspath(os.path.dirname(__file__)), '..',folder)
장고
IN
당신이 "정적"폴더를 생성나요 Django 프로젝트 폴더 안에 있습니까? 그렇지 않은 경우, 빈 파일로 작성하십시오. Heroku 문서의 샘플 저장소와이 빈 [file] (https://github.com/heroku/python-getting-started/tree/master/gettingstarted/static)의 경로를 확인하십시오. –
그래, 알겠습니다. 내 부트 스트랩 파일과 이미지로 가득 차 있습니다. – jjones2000
프로젝트 디렉토리 구조를 표시 할 수 있습니까? –