django模板继承无处不在

时间:2013-05-06 17:15:27

标签: python html django web-frameworks

我有一个博客应用程序,有些东西真的让我感到困扰。我有一个base.html模板,我在我的视图的每个模板中扩展,并且完美地运行,只有一个视图,即仅显示博客帖子而不是其他帖子的视图,不扩展base.html即使我有{%extends'base.html'%}就像在其他模板中一样,其他一切基本相同。即使我像其他模板一样加载静态文件,也不会加载静态文件。

base.html:

<!DOCTYPE html>
<html>
    <head>
        <link rel="stylesheet" type="text/css" href="{{STATIC_URL}}style.css">
        <link rel="shortcut icon" href="static/favicon.ico" />
        <meta charset="utf-8">
        <title>
            {% block title %}{% endblock %}
        </title>
    </head>
    <p class="header">Blog</p>

    <body background="static/landscape.jpg">
        <div class="content">
            {% block content %}
            {% endblock %}

        </div>
    </body>
</html>

其他模板(作品):

{% extends 'base.html' %}
{% load staticfiles %}


{% block title %}Blog {% endblock %}

{% block content %}
    {% for post in posts %}
    <div class="post">
        <h1>
            <a class ="title" href="{{post.get_absolute_url}}">
                {{post.title}}
            </a>
        </h1>
        <p>{{post.content}}</p>

        <hr>
    </div>
    {% endfor %}
{% endblock %}

特定模板(不起作用):

{% extends 'base.html' %}
{% load staticfiles %}
{% block title %}{{post.title}}{% endblock %}

{% block content %}
    <article>
        <header>
            <h1 style="font-size:40px;"> {{post.title}} </h1>
            <p>{{post.content|safe}}</p>
            <p class="date">
                Posted on
                <time datetime="{{post.created|date:"c"}}">
                {{post.created|date}}
                </time>
            </p>
        </header>

    </article>
    <hr>
{% endblock %}      

如果你能发现任何我无法发现的东西,我将非常感激...谢谢。

1 个答案:

答案 0 :(得分:1)

这听起来像是一个路径问题。尝试在您的css和背景路径中添加/,例如:<body background="/static/landscape.jpg">并查看是否会产生影响。