django - 如何让Django找到一个静态css文件
问题描述
我对当前的 Django 项目及其静态文件很感兴趣。我在 SO 上尝试了不同的解决方案
(例如Django 找不到我的静态文件和Django Static Files CSS),甚至我自己的其他项目中的工作解决方案..
我只想将位于我的项目 /static/ 文件夹中的基本 css 文件链接到我的 base.html 文件,该文件将包含项目中所有站点/应用程序的基本导航栏。这就是为什么我决定将它集中放置在项目目录中。不知何故,它不会找到该文件。
这是我的设置
- debug 设置为True(开发,尚未生产)
设置.py:
STATIC_ROOT = ''
STATIC_URL = '/static/'
STATICFILES_DIRS = (os.path.join('static'), )
base.html:
{% load static %}
[...]
{% block head_css_site %}
<link href="{% static 'base.css' %}" rel="stylesheet" type="text/css">
{% endblock head_css_site %}
[...]
项目结构:
错误:
GET http://127.0.0.1:8000/static/base.css net::ERR_ABORTED 404 (Not Found)
解决方案
问题出在您的模板中。如您所见,正在发出的请求不包含静态前缀,这表明STATIC_URL
未定义。而且,实际上,{% load static %}
您在模板顶部给出的 没有(也不能)定义该变量。它的作用是让您访问static
模板标签,您可以像这样使用它:
<link href="{% static 'base.css' %}"...>
编辑
此外,您的静态文件夹似乎位于您的“dashex”目录中,而不是基本目录。因此,您应该移动它,或更改设置:
STATICFILES_DIRS = (os.path.join('dashex/static'), )
推荐阅读
- flutter - Flutter Scaffold、Actions 和 End Drawer?
- java - 为什么我总是收到“
我的 Window 方法中出现“预期”错误? - oracle - oracle中的dbms_output、输出变量、输出脚本和输出结果有什么区别
- entity-framework - Fluent API 单一关系模型
- r - 将附加参数映射到 purrr
- spring-boot - 如何在没有 SSL 配置的情况下使用 spring boot 和 tomcat 启用 http2
- android - Firebase 项目已删除,但在 Android Studio 中仍显示已连接
- django - 动态查询 Django 构建
- regex - 增量正则表达式匹配
- java - 另一个java非法状态异常