0

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

我创建了一个名为calin的目录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),
)

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

4

1 回答 1

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 %}
于 2012-07-03T21:20:25.063 回答