本文介绍了当Debug = False时,Django Heroku不提供静态文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我将 Django 应用程序托管在 Heroku 上,并使用 whitenoise 处理提供的静态文件。
I'm hosting my Django application on Heroku and using whitenoise to handle serving static files.
以下是 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')
但是静态文件不起作用。
But static files are not working.
设置 Debug = True
正在提供静态文件,但在 Debug = False
时不提供。
Setting Debug=True
is serving static files but not when Debug=False
.
推荐答案
从
将 collectstatic
添加到 Procfile
web: python manage.py collectstatic --no-input; gunicorn myapp.wsgi --log-file - --log-level debug
现在每个静态文件正在提供服务,包括CSS,js,图像和视频。
And now every static file is serving including, CSS, js, images and videos.
这篇关于当Debug = False时,Django Heroku不提供静态文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!