![](/img/trans.png)
[英]Django not serving static files on Heroku when DEBUG=False
[英]Django Heroku not serving static files when Debug=False
我在Heroku上托管我的Django应用程序并使用白噪声来处理静态文件。
以下是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
。
从帖子中得到解决方案
新增collectstatic
到Procfile
web: python manage.py collectstatic --no-input; gunicorn myapp.wsgi --log-file - --log-level debug
现在每个静态文件都在服务,包括 CSS、js、图像和视频。
Whitenoise 中间件应该在安全中间件之后,在所有其他中间件之前。 您目前正在将其添加到最后。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.