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 に答える