Django模板块没有显示?

时间:2011-08-24 16:41:52

标签: python html django django-templates django-views

我在显示子模板的块标签内的内容时遇到问题。我有一个base.html和一个扩展基础的dash.html。当我转到dash.html页面时,base.html已扩展,但在dash.html的块标记内设置的内容不会显示。所以当我去base.html和dash.html时我会得到同样的东西。

这是我的代码:

base.html文件

<!DOCTYPE HTML>
<!--[if lt IE 7 ]> <html class="no-js ie6" lang="en"> <![endif]-->
<!--[if IE 7 ]>    <html class="no-js ie7" lang="en"> <![endif]-->
<!--[if IE 8 ]>    <html class="no-js ie8" lang="en"> <![endif]-->
<!--[if (gte IE 9)|!(IE)]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>SCV Discount</title>
    <META HTTP-EQUIV="Pragma" CONTENT="no-cache">
    <META HTTP-EQUIV="Expires" CONTENT="-1">
    <link rel="stylesheet" href="static/css/main.css">
    <script src="http://cdnjs.cloudflare.com/ajax/libs/modernizr/2.0.6/modernizr.min.js"></script>
</head>
<body>
<!-- Main Header -->
<div id="top">
    <div id="header">
        <a href="/"><div id="logo"></div></a>
        {% block head %}{% endblock %}
    </div>
</div>

<!-- Middle -->
<div id="mid">
    {% block mid %}{% endblock %}
</div>

<!-- Content -->
<div id="analytics-content">
    {% block main %}{% endblock %}
</div>

<!-- Scripts -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="static/js/libs/jquery-1.6.2.min.js">\x3C/script>')</script>
<script src="static/js/libs/select.js"></script>
<script src="static/js/main.js"></script>
</body>
</html>

dash.html

{% extends 'base.html' %}

{% block head %}
    <p class="dashboard-title">Elephant Bar</p>
    <p class="cp_badge round">Control Panel</p>
{% endblock %}

{% block mid %}
    {% include 'modules/meters.html' %}
    {% include 'modules/client_ctl.html' %}
{% endblock %}

{% block main %}
    {% include 'modules/history.html' %}
{% endblock %}

view.py

from django.shortcuts import render_to_response, get_object_or_404
from django.http import HttpResponse, HttpResponseRedirect
from django.core.urlresolvers import reverse
from django.template import RequestContext
import datetime

def index(request):
    return render_to_response('base.html', RequestContext(request))

def dash(request):
    return render_to_response('dash.html', RequestContext(request))

希望这是足够的信息。请告诉我我能提供的其他信息。提前致谢。我很感激。

1 个答案:

答案 0 :(得分:1)

我刚复制过&amp;将此代码粘贴到一个新项目中,它正在为我工​​作。你的urls.py看起来像什么?您是否有可能将短划线网址发送到索引视图?这是我写的快速urls.py来启动并运行:

from django.conf.urls.defaults import *
import views

urlpatterns = patterns('',
    (r'^index/', views.index),
    (r'^dash/', views.dash),
)

当您在浏览器中查看dash.html时(通过您希望与短划线视图绑定的任何网址),如果您没有看到任何特定的代码,您怎么知道它正在扩展base.html dash.html?