如何在Django中引入CSS?Django无法识别polls目录下CSS静态文件
Django静态CSS文件加载失败解决方案
1. 修正settings.py配置
你当前配置的STATIC_DIRS和STATIC_ROOT指向了同一个路径,会导致静态文件查找冲突,按如下规则调整:
- 先确认
INSTALLED_APPS列表中已经添加两个必要条目:django.contrib.staticfiles、你的应用名polls - 修改静态文件相关配置:
STATIC_URL = '/static/' # 开发阶段用于查找全局公共静态文件的目录,需和STATIC_ROOT路径区分开 STATIC_DIRS = [os.path.join(BASE_DIR, "static"),] # 生产环境执行collectstatic命令时静态文件的统一收集目录,不要和STATIC_DIRS路径重复 STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
2. 调整静态文件存放路径
应用专属的静态文件需要存放在应用下的static/[应用名]目录下,避免不同应用的同名文件冲突:
在polls目录下创建层级目录polls/static/polls/,把你的home.css文件放到这个路径下。
3. 修改模板的静态资源引用写法
Django需要通过内置的static模板标签解析静态资源路径,修改你的home.html代码:
<!-- 模板顶部先加载静态文件标签 --> {% load static %} <link rel="stylesheet" type="text/css" href="{% static 'polls/home.css' %}"> <title>121212</title> <body> <div id="1212"> <li class="fafa">12112</li> </div> </body>
4. 开发环境额外URL配置
如果是本地开发调试,需要在项目根目录的urls.py中添加静态文件服务规则:
from django.conf import settings from django.conf.urls.static import static urlpatterns = [ # 你原有其他路由规则保留 ] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
修改完成后重启Django服务即可正常加载CSS文件。
内容的提问来源于stack exchange,提问作者MihailCapone
相关产品推荐
相关产品推荐

