好吧,我有一个名为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 at / progguide / progguide / index.html请求方法:GET请求URL:http://127.0.0.1:8000 /progguide / Django版本:1.2.4异常类型:TemplateDoesNotExist异常值:progguide / index.html
对于这个还是很新的,从我的理解来看,上面看起来还不错 . 我错过了什么?
3 回答
虽然它实际上应该是你,但你很接近
传递给
render_to_response
的字符串是模板的相对路径,从您在TEMPLATE_DIRS中给出的任何值开始 . 因此,鉴于您在该设置中的内容,您应该只使用render_to_response('index.html' , ... )
.你错过了模板文件夹吗?您可以使用: