2014-11-03 85 views
2

我需要創建通過標題鏈接和加載每個鏈路noticia_detail.html生成的模板,但我有一個問題是這樣的:Django的TemplateDoesNotExist,生成的URL

我一直在尋找錯誤,我認爲這個問題是在設置文件,templates_path什麼的,幫我請

對於每一個URL由塞產生我請求時,它拋出:

TemplateDoesNotExist at /noticia/crea-horario/ 
infogeneral/noticia_detail.html 
Request Method: GET 
Request URL: http://localhost:1280/noticia/crea-horario/ 
Django Version: 1.7.1 
Exception Type: TemplateDoesNotExist 
Exception Value:  
infogeneral/noticia_detail.html 
Exception Location: C:\Python27\lib\site-packages\django\template\loader.py in select_template, line 194 
Python Executable: C:\Python27\python.exe 
Python Version: 2.7.5 
Python Path:  
['C:\\Users\\PC\\Documents\\python\\taskalertproyect\\taskalert', 
'C:\\Python27\\lib\\site-packages\\setuptools-1.4.2-py2.7.egg', 
'C:\\Python27\\lib\\site-packages\\django_fiber-0.11.2-py2.7.egg', 
'C:\\Python27\\lib\\site-packages\\easy_thumbnails-1.4-py2.7.egg', 
'C:\\Python27\\lib\\site-packages\\djangorestframework-2.3.8-py2.7.egg', 
'C:\\Python27\\lib\\site-packages\\django_compressor-1.3-py2.7.egg', 
'C:\\Python27\\lib\\site-packages\\pillow-2.2.1-py2.7-win-amd64.egg', 
'C:\\Python27\\lib\\site-packages\\six-1.5.2-py2.7.egg', 
'C:\\Python27\\lib\\site-packages\\django_appconf-0.6-py2.7.egg', 
'C:\\Python27\\lib\\site-packages\\pyopenssl-0.14-py2.7.egg', 
'C:\\Windows\\system32\\python27.zip', 
'C:\\Python27\\DLLs', 
'C:\\Python27\\lib', 
'C:\\Python27\\lib\\plat-win', 
'C:\\Python27\\lib\\lib-tk', 
'C:\\Python27', 
'C:\\Python27\\lib\\site-packages'] 
Server time: Lun, 3 Nov 2014 01:10:43 -0500 

Template-loader postmortem 

Django tried loading these templates, in this order: 
Using loader django.template.loaders.filesystem.Loader: 
C:\home\taskalertproyect\taskalert\infogeneral\templates\infogeneral\noticia_detail.html (File does not exist) 
Using loader django.template.loaders.app_directories.Loader: 
C:\Python27\lib\site-packages\django\contrib\admin\templates\infogeneral\noticia_detail.html (File does not exist) 
C:\Python27\lib\site-packages\django\contrib\auth\templates\infogeneral\noticia_detail.html (File does not exist) 
C:\Users\PC\Documents\python\taskalertproyect\taskalert\infogeneral\templates\infogeneral\noticia_detail.html (File does not exist) 
C:\Python27\lib\site-packages\django_markdown\templates\infogeneral\noticia_detail.html (File does not exist) 

的index.html

<section class="content"> 
       {% for noticia in pagina.noticia.all %} 
        <article> 
         <div class="post"> 
          <h1 class="title"> 
           <a href="/noticia/{{noticia.slug}}/">{{ noticia.titulo_noticia}}</a> 
          </h1> 
          <p>{{ noticia.contenido_noticia|safe }}<p> 
          <a class="read_more" href="/noticia/{{noticia.slug}}/">Continue Reading <i class="read_more_arrow"></i> </a> 
         </div> 
        </article> 
       {% endfor %} 
      </section><!-- Content End --> 

noticia_detail.html

<h2>{{ object.titulo_noticia }}</h2> 
<p>{{ object.contenido_noticia }}</p> 

urls.py

from infogeneral.views import NoticiaDetailView 
url(r'^noticia/(?P<slug>[-\w]+)/$', NoticiaDetailView.as_view(),name='noticia_detail') 

models.py

class Noticia(models.Model): 
    titulo_noticia = models.CharField(max_length=100) 
    slug = models.SlugField(null=True, editable=False) 

    def save(self, *args, **kwargs): 
     if not self.id: 
      self.slug = slugify(self.titulo_noticia) 
     super(Noticia, self).save(*args, **kwargs) 

views.py

from django.views.generic import ListView, DetailView 
from .models import Noticia 

class NoticiaDetailView(DetailView): 
    tamplate_name = 'noticia_detail.html' 
    context_object_name = 'noticias' 
    model = Noticia 

settings.py

TEMPLATES_URL = '/templates/' 

TEMPLATE_DIRS = (
    'C:/Users/PC/Documents/python/taskalertproyect/taskalert/infogeneral/templates', 
) 
+0

爲什麼當你在Windows機器上並且你的項目是在「c:/ Users/PC/Documents/python/taskalertproyect」中時,你使用的是Linux「/ home/taskalertproyect ...」路徑? – 2014-11-03 09:02:43

+0

感謝和應用更改,但仍然相同 – camilo108 2014-11-03 13:42:37

回答

0

無法加載您的模板。 Django試圖從錯誤信息底部給出的位置加載它,但在那裏找不到它。確保模板處於正確的位置。根據錯誤消息,正確的位置將在C:\Users\PC\Documents\python\taskalertproyect\taskalert\infogeneral\templates\infogeneral\noticia_detail.html上。

此外,您的設置似乎反映了UNIX/Linux系統,但輸出指示Windows。你應該更新路徑。

+1

ty,我改變了所有的導演,但我不匹配任何結果,我會檢查路徑。 – camilo108 2014-11-03 13:45:16