我的 Django 网站正在加载我的静态 (CSS) 文件,但它们没有显示出来。我错过了啥或做错了啥?

Posted

技术标签:

【中文标题】我的 Django 网站正在加载我的静态 (CSS) 文件,但它们没有显示出来。我错过了啥或做错了啥?【英文标题】:My static (CSS) files are loading for my Django website, but they are not being displayed. What am I missing or doing wrong?我的 Django 网站正在加载我的静态 (CSS) 文件,但它们没有显示出来。我错过了什么或做错了什么? 【发布时间】:2020-10-17 09:29:38 【问题描述】:

编辑: 我发现没有显示 CSS 文件,因为我从 Microsoft Word 复制了指向 CSS 文件的链接标签,所以 rel="stylesheet" 周围的引号不是正确的引号类型!!

项目文件夹中的settings.py文件将STATIC_URL变量定义为'/static/'

CSS 文件位于 app 文件夹中:DjangoProject/shop/static/shop/style.css

% load static % 位于 html 模板的顶部(如果我使用“staticfiles”而不是“static”,则会出现错误)

CSS 文件是使用 href="% static 'shop/style.css' %" 链接的

当我分析“查看页面源”时,CSS文件加载并可见,但实际的CSS没有显示在网页上。

我做错了什么?我正在使用 Django 版本 3.0.7

编辑:

我也尝试在 settings.py 文件中定义 STATICFILES_DIRS,但这并没有做任何事情。也不会将下面的附加代码添加到项目 urls.py 文件中。

STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static'),
]

.

from django.conf.urls.static import static
from django.contrib.staticfiles.urls import staticfiles_urlpatterns

urlpatterns = [
    #your url patterns
]
urlpatterns += staticfiles_urlpatterns() 

【问题讨论】:

settings.py 中的INSTALLED_APPS 中有 django.contrib.static 文件吗?如果您包含实际代码而不是图像,那将更有益。 是的,'django.contrib.staticfiles',在 INSTALLED_APPS 列表中。 【参考方案1】:

你必须添加

STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static'),
]

STATIC_URL下方的settings.py文件中

在主 urls.py 中添加 bolew 代码

from django.conf.urls.static import static
from django.contrib.staticfiles.urls import staticfiles_urlpatterns

urlpatterns = [
    #your url patterns
]
urlpatterns += staticfiles_urlpatterns()

并确保您正在努力刷新网页并尝试重新启动服务器

【讨论】:

这和在stttings.py中声明STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')一样吗? 我试过了,我又试了一次,但这并不能解决问题。 我之前尝试过添加类似于 urls.py 文件的内容,但总是出错。使用您提供的代码,我得到“NameError:名称'staticfiles_urlpatterns'未定义”。我该如何解决这个 NameError? 不,这不一样@plum0 ***.com/a/24022604/11602126 @b0302 我再次编辑了答案,包括导入查看它

以上是关于我的 Django 网站正在加载我的静态 (CSS) 文件,但它们没有显示出来。我错过了啥或做错了啥?的主要内容,如果未能解决你的问题,请参考以下文章

cPanel:Django Admin Portal 未加载静态/CSS 文件

Django全局静态文件未加载

django:通过nginx提供静态文件

为啥 Django 不加载我的 CSS?

为啥我的 Django 管理站点没有样式/CSS 加载?

Django 和静态网站