在docker中部署django项目时,因为docker的单线程而没法在容器里配置静态文件访问,因此会有静态文件访问的问题,使用whitenoise模块能够解决这个问题,下面是具体的配置:docker
一、安装whitenoise模块(在requirement.txt里增长whitenoise,或者在Dockerfile文件里也行);django
二、在wsgi.py(通常与setting.py在相同的目录里)配置whitenoise,以下:app
from django.core.wsgi import get_wsgi_application
from whitenoise.django import DjangoWhiteNoise
application = get_wsgi_application()
application = DjangoWhiteNoise(application)ui
在settings.py文件里STATIC_ROOT 和 STATICFILES_DIRS 的值不能相同,这样就能够访问docker里的静态文件了。线程