Django TemplateDoesNotExist - PullRequest
       34

Django TemplateDoesNotExist

2 голосов
/ 22 января 2011

Хорошо, у меня есть проект под названием tvlistings и приложение, которое называется progguide.

В моем каталоге tvlistings у меня есть следующие файлы

settings.py

TEMPLATE_DIRS = (
    '/home/paul/tvlistings/progguide/templates',
)

urls.py

from django.conf.urls.defaults import *

urlpatterns = patterns('',
    (r'^progguide/', include('progguide.urls')),
)

В моем каталоге progguide у меня есть

urls.py

from django.conf.urls.defaults import *

urlpatterns = patterns('progguide.views',
    (r'^$', 'index'),
    (r'^(?P<prog_id>\d+)/$', 'programme'),
)

views.py

from django.shortcuts import render_to_response
from progguide.models import *

def index(request):
    chan_prog_list = ChannelProgramme.objects.all().order_by('progdate','starttime')[:5]
    return render_to_response('progguide/index.html', {'chan_prog_list': chan_prog_list})

А в / home / paul / tvlistings / progguide / templates у меня есть

index.html

{% if chan_prog_list % }
    <ul>
    {% for prog in chan_prog_list %}
        <li>{{ prog.channelid.channelname}} {{ prog.programmeid.progtitle }}</li>
    {% endfor %}
    </ul>
{% else %}
    <p>No programmes.</p>
{% endif %}

Если я попытаюсь загрузить http://localhost:8000/progguide, я получу

TemplateDoesNotExist в / progguide /

progguide / index.html

Метод запроса: GET URL запроса: http://127.0.0.1:8000/progguide/ Версия Django: 1.2.4 Тип исключения: Значение исключения TemplateDoesNotExist:

progguide / index.html

Все еще очень плохо знакомый с этим, из того, что я понимаю, все выглядит хорошо. Чего мне не хватает?

Ответы [ 3 ]

2 голосов
/ 22 января 2011

Вы были близки, хотя на самом деле это должно быть

return render_to_response('index.html', {'chan_prog_list': chan_prog_list})
1 голос
/ 22 января 2011

Строка, которую вы передаете render_to_response, является относительным путем к шаблону, начиная с любого из значений, которые вы задали в TEMPLATE_DIRS. Итак, учитывая, что у вас есть в этой настройке, вы должны просто использовать render_to_response('index.html' , ... ).

1 голос
/ 22 января 2011

Вам не хватает папки с шаблонами? Вы можете использовать:

return render_to_response('progguide/templates/index.html', {'chan_prog_list': chan_prog_list})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...