Django v1.5,TemplateDoesNotExist错误

时间:2014-04-08 18:07:36

标签: django django-templates

在settings.py中,我选择使用sqlite3运行并命名此数据库database.db。

from blog_app.views import oneView, anotherView
from django.conf.urls import patterns, include, url

urlpatterns = patterns('',
    url(r'^one/$', oneView),
    url(r'^another/$', anotherView),
    # Examples:
    # url(r'^$', 'django_project.views.home', name='home'),
    # url(r'^django_project/', include('django_project.foo.urls')),

    # Uncomment the admin/doc line below to enable admin documentation:
    # url(r'^admin/doc/', include('django.contrib.admindocs.urls')),

    # Uncomment the next line to enable the admin:
    # url(r'^admin/', include(admin.site.urls)),
)

和我的views.py看起来像这样

# -*- coding:UTF-8 -*-
from django.shortcuts import render_to_response

def oneView(request):
    return render_to_response("index.html", {"content":"Hello World, from oneView"})

def anotherView(request):
    return render_to_response("index.html", {"content":"Hello Again, from anotherView"})

我的index.html是blog / blog_app / templates / index.html。因为标准的settings.py文件说明了这一点:

TEMPLATE_LOADERS = (
    'django.template.loaders.filesystem.Loader',
    'django.template.loaders.app_directories.Loader',
#     'django.template.loaders.eggs.Loader',
)

我认为它无法找到我的index.html文件,这很奇怪。它没有找到正确的目录吗?

尽管如此,我只在&one /"得到一个" TemplateDoesNotExist。我试图去的时候出错了 127.0.0.1:8000/one/或127.0.0.1:8000/another /

任何想法?

2 个答案:

答案 0 :(得分:2)

尝试在settings.py中执行类似的操作

SETTINGS_PATH = os.path.dirname(__file__)
PROJECT PATH = os.path.join(SETTINGS_PATH, os.pardir)
PROJECT_PATH = os.path.abspath(PROJECT_PATH)
BLOG_PATH = os.path.join(PROJECT_PATH, "blog_app)
TEMPLATES_PATH = os.path.join(BLOG_PATH, "templates")

TEMPLATE_DIRS = (
    TEMPLATES_PATH,
)

错误通常是由于模板目录

配置错误造成的

答案 1 :(得分:0)

您的确切错误消息是什么? (调试信息)

我对模板使用这种配置:

import os
BASE_DIR = os.path.dirname(os.path.dirname(__file__))
TEMPLATE_DIRS = (
    os.path.join(BASE_DIR, 'templates')
)

可以在django应用程序的templates文件夹(旁边manage.py)中访问它们,在设置的应用程序后面的子文件夹中设置(不是您提供给我们的网址的情况)用)。