Django Heroku не обслуживает статические файлы, когда Debug = False - PullRequest
0 голосов
/ 06 января 2019

Я размещаю мое Django приложение на Heroku и использую whitenoise для обработки статических файлов.

Ниже приводится содержание settings.py

DEBUG = False

ALLOWED_HOSTS += [
    'example.com',
]

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'whitenoise.middleware.WhiteNoiseMiddleware',
    ...
]

STATIC_URL = '/static/'

STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static_my_project')
]

STATIC_ROOT = os.path.join(BASE_DIR, 'static_cdn', 'static_root')

Но статические файлы не работают.

Настройка Debug=True обслуживает статические файлы, но не тогда, когда Debug=False.

Ответы [ 2 ]

0 голосов
/ 06 января 2019

Получил решение от поста

Добавлено collectstatic в Procfile

web: python manage.py collectstatic --no-input; gunicorn myapp.wsgi --log-file - --log-level debug

И теперь каждый статический файл обслуживает, включая CSS, js, изображения и видео.

0 голосов
/ 06 января 2019

Промежуточное программное обеспечение Whitenoise должно идти после промежуточного программного обеспечения безопасности и перед всем другим промежуточным программным обеспечением . Вы добавляете его в конец.

...