【问题标题】:Django: CSS not extended for some pages?Django:某些页面没有扩展CSS?
【发布时间】:2015-09-01 02:46:47
【问题描述】:

我正在尝试使用“使用 Python 进行测试驱动开发”一书的在线版本来学习 Django。我有一个 base.html 文件和 home.html 和 list.html 文件。现在,CSS 适用于 home.html,但不适用于 list.html!他们都从 base.html 文件扩展了他们的 CSS,那么为什么会出现问题呢?以下是文件:

base.html:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>To-Do lists</title>
        <link href="static/bootstrap/css/bootstrap.min.css" rel="stylesheet">
    </head>
    <body>
        <div class="container">

            <div class="row">
                <div class="col-md-6 col-md-offset-3">
                    <div class="text-center">
                        <h1>{% block header_text %}{% endblock %}</h1>
                        <form method="POST" action="{% block form_action %}{% endblock %}">
                            <input name="item_text" id="id_new_item" placeholder="Enter a to-do item"/>
                            {% csrf_token %}
                        </form>
                    </div>
                </div>
            </div>

            <div class="row">
                <div class="col-md-6 col-md-offset-3">
                    {% block table %}
                    {% endblock %}
                </div>
            </div>
        </div>
    </body>
</html>

home.html:

{% extends 'base.html' %}

{% block header_text %}Start a new To-Do list{% endblock %}

{% block form_action %}/lists/new{% endblock %}

list.html:

{% extends 'base.html' %}

{% block header_text %}Your To-Do list{% endblock %}

{% block form_action %}/lists/{{ list.id }}/add_item{% endblock %}

{% block table %}
    <table id="id_list_table">
        {% for item in list.item_set.all %}
            <tr><td>{{ forloop.counter }}: {{ item.text }}</td></tr>
        {% endfor %}
    </table>
{% endblock %}

这可能有点傻,但无论如何,谢谢!

【问题讨论】:

  • 您在浏览器内的 Web 控制台中遇到了哪些错误(如果有)?

标签: python css django extend


【解决方案1】:

而不是使用硬编码 CSS 链接

<link href="static/bootstrap/css/bootstrap.min.css" rel="stylesheet">

使用 Django 模板标签:

或者,如果您的 list.html 正在呈现 yoursite.com/list/,您也可以在下面使用

<link href="../static/bootstrap/css/bootstrap.min.css" rel="stylesheet">

如果 yoursite.com/something/list/ 则使用;

<link href="../../static/bootstrap/css/bootstrap.min.css" rel="stylesheet">

【讨论】:

  • 你也可以使用 django 模板标签进行静态链接 和平!!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-12
  • 2014-04-28
  • 2014-07-05
  • 2013-05-15
  • 2011-09-17
相关资源
最近更新 更多