You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django引入CSS文件报GET /static/css/stylesheet.css 404错误如何解决

Django 加载静态CSS返回404的排查与修复方案

日志显示"GET /static/css/stylesheet.css HTTP/1.1" 404是静态资源路径映射不匹配导致的,按以下顺序逐一排查即可解决:

1. 核对settings.py核心配置

打开项目配置目录下的settings.py,逐项确认:

  • INSTALLED_APPS列表中必须包含django.contrib.staticfiles,这是Django内置处理静态资源的模块,手动精简配置时很容易误删
  • 确保STATIC_URL = '/static/'配置存在,该值为静态资源的访问前缀,必须和模板中引用的路径前缀一致
  • 开发环境(DEBUG=True)下不要随意配置STATIC_ROOT,该参数仅用于生产环境执行collectstatic命令归集静态文件,配置错误会直接干扰开发环境的静态文件查找逻辑
  • 如果你的静态文件存放在项目根目录的全局static文件夹下,必须补充STATICFILES_DIRS配置,否则Django默认只会查找每个已注册APP目录下的static子文件夹,示例配置:
import os
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static'),
]

注意:路径要直接指向存放css、js等资源的static文件夹本身,不要指到它的上级目录

2. 核对目录结构与文件路径

对照你的项目目录确认:

  • 全局static文件夹要和manage.py放在同一级,不要嵌套到内层的项目配置目录(和settings.py同层级的那个文件夹)里
  • CSS文件的实际存放路径必须是static/css/stylesheet.css,注意文件名大小写:Linux服务器环境下Stylesheet.css和stylesheet.css是完全不同的两个文件,本地Windows开发不报错、上线就404基本都是大小写不匹配导致的
  • 如果把static目录放在某个APP目录下,必须确保该APP已经在INSTALLED_APPS中注册,否则静态文件查找器不会扫描对应路径
  • 检查是否开启了文件后缀隐藏,避免出现实际文件名为stylesheet.css.css这类低级错误

3. 核对开发环境路由配置

如果DEBUG=True时仍无法访问,打开项目根目录的urls.py,补充静态资源路由映射:

from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
    # 此处保留你原有的业务路由
]
# 仅开发环境使用,生产环境必须删除该段,交给Nginx等Web服务处理静态资源
if settings.DEBUG:
    urlpatterns += static(settings.STATIC_URL, document_root=settings.STATICFILES_DIRS[0])

4. 核对模板中的引用写法

不要硬编码静态文件路径,优先使用Django内置的static模板标签加载资源:

  • 模板文件最顶部先添加{% load static %}
  • CSS引用标签写为:<link rel="stylesheet" href="{% static 'css/stylesheet.css' %}">
    硬编码/static/css/stylesheet.css的写法在修改STATIC_URL、项目部署到子路径时会直接失效。

所有配置修改完成后,重启Django开发服务,按Ctrl+F5强制刷新浏览器清除缓存即可正常加载。

高频踩坑提醒:配置修改后未重启开发服务、误将static目录放在templates文件夹下、CSS文件实际存放在其他路径未做映射。


内容的提问来源于stack exchange,提问作者Ayesh Isuranga

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 09:22:01