Django没有从静态目录加载样式文件
Posted
技术标签:
【中文标题】Django没有从静态目录加载样式文件【英文标题】:Django not loading style file from static directry 【发布时间】:2021-06-09 07:32:38 【问题描述】:我在本地的 Django 应用程序遇到了一个奇怪的问题,该文件在静态目录中可用。
以下是在settings.py中
STATIC_ROOT = SITE_ROOT + '/static/'
STATIC_URL = '/static/'
这就是我尝试包含样式文件的方式
<link href="/static/msc.css?v=1.2" rel="stylesheet" type="text/css" />
在urls.py中添加以下内容
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
urlpatterns += staticfiles_urlpatterns()
该文件存在于静态目录中,但未加载,我在控制台中遇到 URL 的 404 错误:http://localhost:8000/static/msc.css?v=1.2
请在这方面帮助我,谢谢。
【问题讨论】:
你的STATICFILES_DIRS
是什么?
我强烈推荐你看一下官方的django教程docs.djangoproject.com/en/3.1/intro/tutorial06
看看这个***.com/questions/4919600/…和这个***.com/questions/66437690/…
还请注意,在我的情况下,只有这个样式表没有被加载,其余的东西正在正确加载
【参考方案1】:
你没有按照 Django 的方式做事。
在 Django 中处理静态文件时
a) 您需要在模板的开头使用 % load static %
b) 使用以下模式创建指向静态文件的链接
<link href="% static 'path/to/style.css' %" rel="stylesheet" type="text/css" />
假设我的django项目中有一个目录static/css/style.css,那么
<link href="% static 'css/style.css' %" rel="stylesheet" type="text/css" />
【讨论】:
以上是关于Django没有从静态目录加载样式文件的主要内容,如果未能解决你的问题,请参考以下文章