Django静态文件夹非根目录时,模板调用静态文件失败的解决方法
Django静态文件加载失败的解决方法
1. 修正STATIC_ROOT的配置错误
你当前把STATIC_ROOT设成了列表,这不符合Django的要求——STATIC_ROOT必须是单个字符串路径,而非列表。修改settings.py中的配置:
STATIC_ROOT = os.path.join(BASE_DIR, 'vol/web/static')
注:STATIC_ROOT是
collectstatic命令收集项目所有静态文件的目标目录,主要用于生产环境;若开发环境下直接使用自定义静态目录,只要文件已放在该路径下,无需额外配置其他目录。
2. 确保STATIC_URL配置正确
在settings.py中确认存在以下配置(默认已有,若缺失则添加):
STATIC_URL = '/static/'
3. 模板必须先加载static标签
在使用{% static %}标签的模板开头,一定要添加加载语句:
{% load static %}
之后再使用你原有的静态文件引用代码即可:
<link rel="stylesheet" href="{% static 'assets/plugins/bootstrap/css/bootstrap.min.css' %}">
4. 验证文件实际路径
确认bootstrap.min.css确实存在于以下路径:
你的项目根目录/vol/web/static/assets/plugins/bootstrap/css/bootstrap.min.css
如果路径不符,要么调整模板中{% static %}内的路径,要么将文件移动到对应位置。
5. 开发环境额外检查项
- 确保
settings.py中DEBUG = True,Django会在DEBUG模式下自动提供静态文件服务 - 确认
INSTALLED_APPS中包含'django.contrib.staticfiles'
内容的提问来源于stack exchange,提问作者leauradmin
相关产品推荐
相关产品推荐

