【问题标题】:CSS works only in one of three templates when extended from the same template从同一个模板扩展时,CSS 仅适用于三个模板之一
【发布时间】:2011-12-26 15:27:03
【问题描述】:

好的,我已经有了我的基本模板,并在我的其他三个模板中扩展了它,它只适用于其中一个。我觉得这真的很奇怪。我不确定这里有什么相关的代码,所以请评论我应该发布什么代码。

基地:

<link rel="stylesheet" type="text/css" href="static/default.css" media="screen"/>
<title>{% block title %}Marijus Merkevicius{% endblock %}</title>
<div class="holder">{% block content %}{% endblock %}

索引(css适用于此模板):

{% extends "base.html" %}
{% block title %}Marijus Merkevicius{% endblock %}
{% block content %}
    {% for entry in entries %}
        <h1><a href="{{ entry.category.slug }}/{{ entry.slug }}/"</h1>
        <p>{{ entry.text|safe|escape }}</p>
    {% endfor %}

{% endblock %}

细节(css不起作用):

{% extends "base.html" %}
{% block title %}{{ entry.title }} | Marijus Merkevicius{% endblock %}
{% block content %}
    <h1>{{ entry.title }}</h1>
    <p>{{ entry.text|safe|escape }}</p>
{% endblock %}

【问题讨论】:

  • 显示基本模板和一个可以工作的模板和一个不能工作的模板。但是,不要发布整个内容 - 将其简化为有问题的最小示例。
  • 也许可以添加 css 或者非常具体地说明“不起作用”的意思?

标签: django django-templates


【解决方案1】:

&lt;link rel="stylesheet" type="text/css" href="static/default.css" media="screen"/&gt;

您正在使用相对链接。这意味着根据呈现此页面的 URL,您的 CSS 的 URL 也会发生变化。

由于您使用的是索引模板和详细信息模板,我猜这两者的根 url 不同(典型的模式是详细信息页面是索引的“子目录”)。

直接指向您的 css 文件:/static/default.css 如果您的 css 文件位于 example.com/static/default.css

【讨论】:

    猜你喜欢
    • 2018-05-26
    • 1970-01-01
    • 1970-01-01
    • 2019-05-22
    • 1970-01-01
    • 1970-01-01
    • 2020-10-17
    • 2015-01-12
    • 2023-04-03
    相关资源
    最近更新 更多