当前位置:  开发笔记 > 编程语言 > 正文

Django无法找到我的模板

如何解决《Django无法找到我的模板》经验,为你挑选了2个好方法。

我在Windows XP SP3上运行Python 2.6.1和Django 1.2.1.我正在使用JetBrains PyCharm 1.0来创建和部署我的Django应用程序.

我对Python相对缺乏经验,我开始通过跟随网站上的"编写你的第一个Django应用程序" - 民意调查应用程序来学习Django.我被困在第3部分.

当我为"编写你的第一个视图"添加简单的回调函数时,一切都很好.

当我开始写"实际做某事的观点"时,我遇到了障碍.

我按照说明修改了索引视图:

    向views.py添加一个新方法(注意 - 模板已从'polls/index.html'准备好):

    将index.html模板添加到site-templates/polls/文件夹

    修改settings.py以指向site-templates文件夹

这是我的views.py中的代码:

from django.template import Context, loader
from polls.models import Poll
from django.http import HttpResponse

def index(request):
    latest_poll_list = Poll.objects.all().order_by('-pub_date')[:5]
    t = loader.get_template('polls/index.html')
    c = Context({
        'latest_poll_list': latest_poll_list,
    })
    return HttpResponse(t.render(c))

这是我的settings.py中的行:

TEMPLATE_DIRS = ('/site-templates/')

但是我跑的时候仍然收到这条消息:

TemplateDoesNotExist at /polls/
polls/index.html
Request Method: GET
Request URL:    http://localhost:8000/polls/
Django Version: 1.2.1
Exception Type: TemplateDoesNotExist
Exception Value:    
polls/index.html

在loader.py中抛出异常.我的调试设置如下所示:

TEMPLATE_CONTEXT_PROCESSORS 
('django.core.context_processors.auth', 'django.core.context_processors.request')
TEMPLATE_DEBUG  
True
TEMPLATE_DIRS   
('/site-templates',)
TEMPLATE_LOADERS    
('django.template.loaders.filesystem.Loader', 'django.template.loaders.app_directories.Loader')

我的目录结构如下所示:

替代文字

我错过了什么?settings.py不正确吗?请指教.



1> michael-mamm..:

我遇到了同样的问题.我的错误是,'app'不在INSTALLED_APPS项目settings.py文件的列表中.

该错误引发错误消息,他们建议类似的错误.

line 25, in get_template TemplateDoesNotExist(template_name, chain=chain)
django.template.exceptions.TemplateDoesNotExist: authControll/index.html

settings.py - >应用程序定义

INSTALLED_APPS = [
    ...,
    'authControll'
]



2> zsquare..:

您必须在TEMPLATE_DIRS设置中使用绝对路径。

方便的操作是,在设置的顶部插入:

import os
DIRNAME = os.path.abspath(os.path.dirname(__file__))

然后在任何使用路径的地方使用os.path.join。例如,您TEMPLATE_DIRS将变成:

TEMPLATE_DIRS = (
    os.path.join(DIRNAME, 'site-templates/'),
)

推荐阅读
U友50081205_653
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有