我的 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) 文件,但它们没有显示出来。我错过了啥或做错了啥?的主要内容,如果未能解决你的问题,请参考以下文章