Django扩展了模板

时间:2009-09-11 18:11:20

标签: python django extends

我有简单的django / python应用程序,我有1页 - create.html。所以我想扩展此页面以使用index.html。一切正常(没有错误),当页面加载时,来自create.html的所有数据和index.html中的所有文本都存在,但没有格式化 - 不加载必须从index.html加载的图像和css。当我在浏览器中加载index.html看起来没问题。有人能帮助我吗?

谢谢!

这是模板的代码:

create.html上

    {% extends "index.html" %}

{% block title %}Projects{% endblock %}

{% block content %}
    {% if projects %}
        <table  border="1">
            <tr>
                <td align="center">Name</td>
                <td align="center">Description</td>
                <td align="center">Priority</td>
                <td align="center">X</td>
            </tr>
            {% for p in projects %}
            <tr>
                <td> <a href="/tasks/{{p.id}}/">{{p.Name}}</a> </td>
                <td>{{p.Description}} </td>
                <td> {{p.Priority.Name}} </td>
                <td> <a href="/editproject/{{p.id}}/">Edit</a> <a href="/deleteproject/{{p.id}}/">Delete</a> </td>
            <tr>
            {% endfor %}
        </table>
    {% else %}
        <p>No active projects.</p>
    {% endif %}
{% endblock %}

和index.html:

    <html>
    <head>
        {% block title %}{% endblock %}

        <link rel="stylesheet" href="style.css" type="text/css" media="screen" />
    </head>
    <body>
    {% block content %}{% endblock %}

<div class="PostContent">

<img class="article" src="images/spectacles.gif" alt="an image" style="float: left" />
<h1>Heading 1</h1>
<h2>Heading 2</h2>
<h3>Heading 3</h3>
<h4>Heading 4</h4>
<h5>Heading 5</h5>
<h6>Heading 6</h6>
<p>Lorem ipsum dolor sit amet,
<a href="#" title="link">link</a>, <a class="visited" href="#" title="visited link">visited link</a>, 
 <a class="hover" href="#" title="hovered link">hovered link</a> consectetuer 
adipiscing elit. Quisque sed felis. Aliquam sit amet felis. Mauris semper, 
velit semper laoreet dictum, quam diam dictum urna, nec placerat elit nisl 
in quam. Etiam augue pede, molestie eget, rhoncus at, convallis ut, eros.</p>

    ....
    </body>
    </html>  

3 个答案:

答案 0 :(得分:1)

看起来您正在扩展base.html而不是index.html。

答案 1 :(得分:1)

更具体地说,请查看content.html的第一行:

  {% extends "base.html" %}

将此更改为

  {% extends "index.html" %}

(或将index.html重命名为base.html)

答案 2 :(得分:1)

Ahaa发现问题出在哪里! 未设置MEDIA_ROOT和MEDIA_URL :-(编辑后,一切正常。

Django template can't see CSS files