首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >django TemplateDoesNotExist,生成的urls

问django TemplateDoesNotExist,生成的urls
EN

Stack Overflow用户
提问于 2014-11-03 14:56:22
回答 1查看 753关注 0票数 2

我需要通过标题创建链接并加载每个链接生成的模板noticia_detail.html,但我有一个问题是:

我正在寻找错误,我想问题出在设置文件,templates_path或其他什么,请帮帮我

对于slug I请求生成的每个URL,它都会抛出:

代码语言:javascript
复制
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

代码语言:javascript
复制
<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

代码语言:javascript
复制
<h2>{{ object.titulo_noticia }}</h2>
<p>{{ object.contenido_noticia }}</p>

urls.py

代码语言:javascript
复制
from infogeneral.views import NoticiaDetailView
url(r'^noticia/(?P<slug>[-\w]+)/$', NoticiaDetailView.as_view(),name='noticia_detail')

models.py

代码语言:javascript
复制
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

代码语言:javascript
复制
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

代码语言:javascript
复制
TEMPLATES_URL = '/templates/'

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

回答 1

Stack Overflow用户

发布于 2014-11-03 15:02:57

无法加载您的模板。Django试图从错误消息底部给出的位置加载它,但在那里找不到它。确保模板位于正确的位置。根据错误消息,正确的位置将在C:\Users\PC\Documents\python\taskalertproyect\taskalert\infogeneral\templates\infogeneral\noticia_detail.html上。

此外,您的设置似乎反映了UNIX/Linux系统,但输出显示为Windows。您应该更新路径。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26709233

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档