django - (Django 2.1)当媒体文件完美服务时,我无法提供静态文件?
问题描述
静态文件总是给我一个 404 错误,我不明白为什么,我复制了我以前使用过的样式,但没有使用这个版本的 django。
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
STATIC_URL = '/static/'
STATIC_DIR = [
os.path.join(BASE_DIR,"static")
]
STATIC_ROOT = os.path.join(BASE_DIR, 'static'
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
我一直在使用 cdn 和样式标签来处理这个项目,但现在我想把它包装起来并使用一些已经为我准备好的 css/js 文件。
我尝试收集静态文件python manage.py collectstatic
,它收集了静态文件夹中的所有静态文件,但仍然没有加载它们并返回 404 错误
我的目录:
/Eyelizer
/App1
/App2
/Eyelizer
/static
/css
/main1.css
/Eyelizer
/css
/wanted.css
/js
/wanted.js
/images
/templates
/media
感谢您提供各种帮助并感谢您。
解决方案
我不认为有类似的东西,STATIC_DIR
但它是STATICFILES_DIRS
。
而且你在关闭括号时犯了一个拼写错误。STATIC_ROOT
settings.py
只需通过删除所有与静态相关的东西来放入以下内容。
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
STATIC_URL = '/static/'
推荐阅读
- php - 自动设置日期输入日期
- google-chrome-extension - 使用 puppeteer 服务器中的内容脚本运行 Chrome 扩展程序
- python - 如何使用 python pymongo 在 mongodb 查询中找到 $avg
- varnish - 清漆 http_req_hdr_len 参数不适用于请求标头大小 > 8KB
- android - Jetpack Compose 与 Coroutine 的 StateFlow
- python - pyinputplus allowRegexes 关键字允许任何输入
- python - NameError:名称“更新”未定义 PONYORM
- javascript - 获取打字稿“树”对象的元素
- google-sheets - SUMIFS 的数组参数大小不同,需要说明
- can-bus - 如何在 OBD2 的帮助下从汽车获取原始 CAN 流量?