我刚开始使用Docker和Nginx。我正在做一个我在本地工作的项目,包括flatpages和几个简单的应用程序,并将其与this guide to utilise Docker, NGINX and Gunicorn相结合。在
由于某些原因,它找不到我的静态文件,甚至找不到标准的Django管理静态文件。在
控制台错误
GET http://0.0.0.0:8000/static/flatpages/CSS/flatpages.css
net::ERR_ABORTED 404 (Not Found)
Django管理员Django Admin
本地.conf
^{pr2}$设置.py
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(os.path.dirname(os.path.dirname(BASE_DIR)),
"static"),
'/static/flatpages/',
]
到目前为止,我还尝试过:
如有其他需要,请告诉我。提前谢谢你的帮助,真的很感激。在
假设在docker容器上,静态文件夹位于/opt/services/djangoapp中,那么您的location/static config仍然应该通过代理传递到django服务器:
据我所知,您需要在NGINX和Django文件夹之间同步静态卷。为此,您需要如下更新docker compose:
首先,如果你使用nginx,比如一个代理来提供静态文件,你必须在端口80加载页面,并且你必须展示如何运行容器,在我的例子中,如果我像一个卷一样传递静态目录(container_path/static),你只需要将位置设置为container_path,因为nginx会在路径集中搜索一个静态目录,比如这个:
记住运行collectstatic命令将静态文件收集到static目录中
相关问题 更多 >
编程相关推荐