1

私はDjangoチュートリアル、パート3を行っています:https ://docs.djangoproject.com/en/dev/intro/tutorial03/

私は現在、views.pyにこのテキストを持っています:

from django.http import HttpResponse

from polls.models import Poll

def index(request):
    latest_poll_list = Poll.objects.order_by('-pub_date')[:5]
    output = ', '.join([p.question for p in latest_poll_list])
    return HttpResponse(output)

これは、次 の場所に移動すると機能http://localhost:8000/polls/します。、レコードが表示されます

問題は、次のステップに進み、views.pyを次のように変更するときです。

from django.shortcuts import render

from polls.models import Poll

def index(request):
    latest_poll_list = Poll.objects.all().order_by('-pub_date')[:5]
    context = {'latest_poll_list': latest_poll_list}
    return render(request, 'polls/index.html', context)

そこからhttp://localhost:8000/polls/次のエラーが表示されます:TemplateDoesNotExist at / polls /そこからhttp://localhost:8000/polls/index.htmlこのエラーが表示されます:ページが見つかりません(404)

mysite/urls.pyを次のように設定しています。

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

poll/views.pyを次のように設定しています。

urlpatterns = patterns('',
    url(r'^$', views.index, name='index'),

TEMPLATE_DIRSを次のように設定しています。

'/path/to/mysite/templates'

新しいコードでページが読み込まれないのはなぜですか?

4

2 に答える 2

0

設定全体を表示するわけではありませんTEMPLATE_DIRS。しかし、私はあなたがこれを持っていると思います:

TEMPLATE_DIRS = (
    '/path/to/mysite/templates'
)

あなたが実際にこれを持っているべきとき:

TEMPLATE_DIRS = (
    '/path/to/mysite/templates',
)

文字列の終わりの後に余分なコンマがあることに注意してください。Pythonの単一要素タプルにはコンマが必要です。それ以外の場合は、角かっこで囲まれた文字列です。

于 2012-10-31T15:56:54.483 に答える
0

pollsテンプレートディレクトリに名前の付いたフォルダを作成index.htmlし、その中に次の内容のファイルを作成します。

<html>
<body>
<ul>
{% for p in latest_poll_list %}
<li>{{ p.question }}</li>
{% endfor %}
</ul>
</body>
</html>
于 2012-10-31T16:23:24.780 に答える