django静态文件加载错误

发布于 2022-09-03 15:29:52 字数 1893 浏览 20 评论 0

报错信息如下:

"GET /blog/ HTTP/1.1" 200 3367
"GET /static/blog/css/style.css HTTP/1.1" 404 1667
"GET /static/blog/css/pygments/github.css HTTP/1.1" 404 1697

mysite/settings.py里面设置如下:

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'blog/static')

# STATICFILES_DIRS = (
#     os.path.join(BASE_DIR, 'blog/static'),
# )

blog/templates/blog/base.html里面设置如下:

{% load staticfiles %}
<link rel="stylesheet" href="{% static "blog/css/style.css" %}" />
<link rel="stylesheet" href="{% static "blog/css/pygments/github.css" %}" />

这是目录树

├── blog
│   ├── static
│   │   └── blog
│   │       └── css
│   │           ├── pygments
│   │           │   └── gighub.css
│   │           └── sytle.css
│   ├── templates
│   │   ├── base.html
│   │   └── blog
│   │       ├── comment.html
│   │       ├── detail.html
│   │       ├── index.html
│   │       └── pagination.html
├── manage.py
└── mysite
    ├── settings.py
    ├── settings.pyc

问题描述:

看了官方文档和Stackoverflow以及SegementFault上的很多解决方案,按理说我的INSRALLED_APPS里面有staticfiles这个app,我的static文件又是直接放在blog这个app下面,django应该能够自动识别出来,而且我又分别单独指定了STATIC_ROOTSTATICFILES_DIRS,但是不管怎么样sytle.css和github.css都报上面的那个404错误,请问有什么好的解决方案?


参考资料:
Google

官方文档

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

余生一个溪 2022-09-10 15:29:52

1、官方文档有这么一句, 你看看你的Debug是不是True

During development, if you use django.contrib.staticfiles, this will be done automatically by runserver when DEBUG is set to True (see django.contrib.staticfiles.views.serve()).

2、static_root是给python manage.py collectstatic用的,这个目录是给app以外的共同Static目录使用的,不要与app自己目录下的static重名。我觉的你可以把这个配置去掉,或者指向另一个目录,比如project/static
3、如果你指定了static_root,可以运行python manage.py collectstatic,然后看一看,在static_root下是否正确归集了你的app下的静态文件,针对性的查一查
4、协助定位静态文件的还有这个命令可以协助你排查问题

python manage.py findstatic /blog/css/style.css --verbosity 2
冬天的雪花 2022-09-10 15:29:52

一个小小的spell error。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文