我在使用webpack提供放置在静态文件夹中的静态文件时出现问题。它不会给我一个追溯或错误,只是文件不存在的404.
我的settings.py
DEBUG = True
STATIC_URL = '/static/'
# This is /Users/ml/Documents/Python/MyProject/site/static
STATIC_ROOT = str(ROOT_DIR('static'))
STATICFILES_DIRS = (
# This is /Users/ml/Documents/Python/MyProject/site/apps/static
str(APPS_DIR.path('static')),
)
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
)
我的urls.py
urlpatterns = [
# URL config here...
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
我的文件夹结构
.
project/
templates/
static/dist/main.j346h346hkjh346.css
manage.py
webpack.config.js
我尝试访问/static/dist/main.j346h346hkjh346.css
并收到404错误。它无法提供服务。我错过了什么?
答案 0 :(得分:0)
所以经过额外的测试后我发现了这个问题。
问题是我使用Webpack捆绑我的静态文件,然后将它们直接输出到/static/
文件夹。当我将它们输出到单独的文件夹(./assets/dist/
)然后将./assets/
文件夹添加到我的STATICFILES_DIRS
时,我能够找到我的文件。
我对此感到很惊讶,我不认为/static/
文件夹只能由collectstatic
使用,并且每个文件也必须有第二个来源。也许其他人可以添加一些关于为什么这样做的评论。