Django中CSS文件无法加载(404错误)求助
Django静态文件404错误:'css\static.css' 无法找到的解决办法
你的settings.py存在重复配置和路径错误,这是导致静态文件找不到的核心原因,模板硬编码路径也不够规范,具体修复步骤如下:
一、修正settings.py的静态文件配置
清理重复定义的配置项,统一静态文件路径设置,替换后的配置如下:
""" from pathlib import Path import os BASE_DIR = Path(__file__).resolve().parent.parent DEBUG = True # 其他配置(INSTALLED_APPS、MIDDLEWARE等)保持不变 # 静态文件核心配置 STATIC_URL = '/static/' # 指定DEBUG模式下查找源静态文件的根目录 STATICFILES_DIRS = [ BASE_DIR / "static", ] # collectstatic命令收集静态文件的目标目录,需与源静态目录区分开 STATIC_ROOT = BASE_DIR / "static_cdn" MEDIA_URL = '/media/' MEDIA_ROOT = BASE_DIR / 'media' DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
二、确认静态文件目录结构
确保项目根目录下的静态文件存放路径符合预期:
项目根目录/ ├── static/ │ ├── css/ │ │ └── static.css # 你的CSS文件必须放在这个位置 ├── pushkin/ # 项目配置目录 ├── main/ # 业务app目录 └── ...
三、规范模板中的静态文件引用
改用Django官方推荐的{% static %}标签替代硬编码路径,避免路径错误:
- 在模板头部加载static标签
- 修改CSS引用路径
完整的base.html头部代码:
<!DOCTYPE html> <html lang="en"> <head> {% load static %} <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" href="{% static 'css/static.css' %}"> <title>{% block title %}{% endblock %}</title> </head>
四、重启开发服务器
修改配置后,停止当前运行的python manage.py runserver,重新启动服务让配置生效。
内容的提问来源于stack exchange,提问作者Vyacheslav Erl
相关产品推荐
相关产品推荐

