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没有从静态目录加载样式文件的主要内容,如果未能解决你的问题,请参考以下文章

将 Django 静态文件加载到 css 样式中

django的admin界面怎么没有样式

django 改了静态文件但是页面没有变

django加载静态文件

Heroku静态文件未加载,Django

Django中静态文件之各个配置详解