2014-11-03 4 views
2

Мне нужно создать ссылки через титул и загрузить шаблон noticia_detail.html генерируемый за ссылку, но у меня есть проблема заключается в следующем:Джанго 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

Почему вы используете путь Linux/home/taskalertproyect ..., когда находитесь на компьютере под управлением Windows, а ваш проект находится в «c:/Users/PC/Documents/python/taskalertproyect»? –

+0

Спасибо и примените изменения, но все равно то же самое – camilo108

ответ

0

Ваш шаблон не может быть загружен. Django пытается загрузить его с позиций, указанных в нижней части сообщения об ошибке, но не смог найти его там. Убедитесь, что шаблон находится в правильном положении. Правильное положение будет на C:\Users\PC\Documents\python\taskalertproyect\taskalert\infogeneral\templates\infogeneral\noticia_detail.html в соответствии с сообщением об ошибке.

Также ваши настройки, похоже, отражают систему UNIX/Linux, но на выходе указана Windows. Вы должны обновить пути.

+1

ty, я меняюсь для всех директоров, но я не согласен с каким-либо результатом, я проверю путь. – camilo108

Смежные вопросы