【问题标题】:Couldn't integrate a CSS file into my project无法将 CSS 文件集成到我的项目中
【发布时间】:2021-08-12 02:14:58
【问题描述】:

我想将我的 layout.html 文件与 CSS 文件连接起来,以便扩展我的 layout.html 的所有其他页面都可以访问此 CSS 文件。

那是代码:

layout.html

<!DOCTYPE html>
<html lang="de">
    <head>
        <title>Aufgabenzettel</title>
        <link rel="stylesheet" href="/aufgabenzettel/static/css/main.css">
    </head>
    <body>
        {% block body %}
        {% endblock %}
    </body>

</html>

index.html

{% extends "aufgabenzettel/layout.html" %}

{% block body %}
    <h1>Meine Aufgaben</h1>
{% endblock %}

ma​​in.css

h1 {
    color: aqua;
}

layout.html 中的 href 可能是正确的,因为我可以通过 ctrl + 单击在 VS 中重定向到它。但是,index.html 中的 h1 仍然显示为黑色而不是浅绿色... 我做错了什么?

感谢您的各种帮助!

【问题讨论】:

  • 在浏览器中查看您的源代码,看看它在哪里寻找 css 文件。你可能想使用类似{% static "css/main" %}docs.djangoproject.com/en/dev/howto/static-files的东西,但我猜你的css调用是404。
  • @AMG 我的浏览器显示 Refused to apply style from '127.0.0.1:8000/aufgabenzettel/static/css/main.css' 因为它的 MIME 类型 ('text/html') 不是受支持的样式表 MIME 类型,并且严格的 MIME 检查是已启用。
  • @AMG 否则,如果我用href="{% static 'css/main.css' %}" 尝试它,我会收到以下错误:第 5 行的块标记无效:'静态'。您是否忘记注册或加载此标签?
  • 你好@mellomax9 你必须把{% load static %} 放在你的代码顶部,这样它才能为你加载静态函数

标签: python html css django href


【解决方案1】:

首先,您必须在代码顶部添加{% load static %},以便在模板中使用static 函数,然后必须使用像{% static 'your_css_path_inside_static_directory' %} 这样的静态函数。

{% load static %}
<!DOCTYPE html>
<html lang="de">
    <head>
        <title>Aufgabenzettel</title>
        <link rel="stylesheet" href="{% static '/aufgabenzettel/static/css/main.css' %}">
    </head>
    <body>
        {% block body %}
        {% endblock %}
    </body>

</html>

【讨论】:

  • 感谢您的详细解决方案。它工作过一次,但此后 main.css 中的更改似乎对 html 文件没有任何影响。 h1 的浅绿色已应用但仍然存在,我无法更改它...您知道如何解决它吗?
猜你喜欢
  • 2019-07-19
  • 1970-01-01
  • 2010-12-22
  • 2020-04-04
  • 1970-01-01
  • 2021-11-12
  • 1970-01-01
  • 2021-03-22
  • 2012-01-06
相关资源
最近更新 更多