请帮助我在此docker django配置中提供静态文件。
我Django正在进行的项目在Docker交付时遇到了一些问题static files。
Django
Docker
static files
管理员视图的 所有静态文件都可以正常加载,但是客户端Web视图的静态文件则抛出404 Not found错误。
这是我的 docker.yml 配置详细信息:
docker.yml
web: build: ./web expose: - "8000" links: - postgres:postgres volumes: - ./web:/usr/src/app ports: - "8000:8000" env_file: .env command: python manage.py runserver 0.0.0.0:8000 postgres: image: postgres:latest volumes: - /var/lib/postgresql ports: - "5432:5432"
collectstatic
我以前使用过此设置,并且工作正常。但是,当我将项目根文件夹移动到另一个目录时,似乎会出现此问题。
我完全被困在这里,非常感谢您的所有帮助和反馈。
这是文件中的 STATICFILES_DIRS 配置问题 settings.py 。
STATICFILES_DIRS
settings.py
此设置定义了在启用 FileSystemFinder* Finder(例如,如果您使用collectstatic或findstatic管理命令或使用静态文件服务视图)的情况下 staticfiles 应用将遍历的其他位置。 *
以下是我的settings.py中的配置:
STATIC_URL = '/static/' STATIC_ROOT = os.path.join(BASE_DIR, "static")
现在,我将此代码更新为:
STATIC_URL = '/static/' STATICFILES_DIRS = [ os.path.join(BASE_DIR, "static"), ]
而且每个文件都可以正常加载。
参考链接