无法获取模板在Django中工作

时间:2012-07-03 21:16:50

标签: django

我正在按照本教程(http://lightbird.net/dbe/cal1.html)来构建日历应用,但我无法让模板正常工作。

我在cal中创建了一个名为project/templates的目录,并在那里复制了base.html。然后我使用以下内容扩展了模板cal/main.html

{% extends "cal/base.html" %}
<!-- ... -->

<a href="{% url cal.views.main year|add:'-3' %}">&lt;&lt; Prev</a>
<a href="{% url cal.views.main year|add:'3' %}">Next &gt;&gt;</a>

    {% for year, months in years %}
        <div class="clear"></div>
        <h4>{{ year }}</h4>
        {% for month in months %}
            <div class=
            {% if month.current %}"current"{% endif %}
            {% if not month.current %}"month"{% endif %} >
                {% if month.entry %}<b>{% endif %}
                <a href="{% url cal.views.month year month.n %}">{{ month.name }}</a>
                {% if month.entry %}</b>{% endif %}
            </div>

            {% if month.n == 6 %}<br />{% endif %}
        {% endfor %}
    {% endfor %}

在我的project/urls.py我有以下配置:

from django.conf.urls import patterns, include, url

from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
    url(r'^cal/', include('cal.urls')),                                         
    url(r'^admin/', include(admin.site.urls)),
)

cal/urls.py我有以下配置:

from django.conf.urls import patterns, include, url
from cal.views import main

urlpatterns = patterns('cal.views',
    (r'^(\d+)/$', main),
    (r'', main),
)

我不确定我哪里出错了。当我运行应用程序时,现在显示的所有内容都是一个空白屏幕,左上角有一个“主页”按钮,可以将我带到管理页面。如果有人能指出我正确的方向,我将不胜感激!

1 个答案:

答案 0 :(得分:2)

在base.html中你必须有类似的东西:

{% block content %}{% endblock %}

在main.html中:

{% extends "cal/base.html" %}

{% block content %}
<a href="{% url cal.views.main year|add:'-3' %}">&lt;&lt; Prev</a>
<a href="{% url cal.views.main year|add:'3' %}">Next &gt;&gt;</a>

{% for year, months in years %}
    <div class="clear"></div>
    <h4>{{ year }}</h4>
    {% for month in months %}
        <div class=
        {% if month.current %}"current"{% endif %}
        {% if not month.current %}"month"{% endif %} >
            {% if month.entry %}<b>{% endif %}
            <a href="{% url cal.views.month year month.n %}">{{ month.name }}</a>
            {% if month.entry %}</b>{% endif %}
        </div>

        {% if month.n == 6 %}<br />{% endif %}
    {% endfor %}
{% endfor %}
{% endblock %}