3

我在Heroku上托管我的Django应用程序并使用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.

4

2 回答 2

10

帖子中得到解决方案

添加collectstaticProcfile

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

现在每个静态文件都在提供服务,包括 CSS、js、图像和视频。

于 2019-01-06T15:48:48.263 回答
1

Whitenoise 中间件应该在安全中间件之后和所有其他中间件之前。您当前正在将其添加到末尾。

于 2019-01-06T09:12:56.920 回答