1

好吧,我正在开发一个新的 Django 项目,并且很难让 index.html 页面正确显示。关于如何更改以使其正确显示的任何建议?

我收到错误

TemplateDoesNotExist at /

index.html

我对每个文件的设置如下。

我的项目名称/我的项目名称/settings.py

import os
PROJECT_ROOT = os.path.dirname(os.path.abspath(__file__))
STATIC_ROOT = os.path.join(PROJECT_ROOT, 'templates/static')
TEMPLATE_DIRS = (
    PROJECT_ROOT + '../templates'
)

我的项目名称/我的项目名称/urls.py

from django.conf.urls import patterns, include, url

# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
    url(r'^', 'apps.views.index'),
    url(r'^admin/', include(admin.site.urls)),
)

myprojectname/apps/views.py from django.shortcuts import render_to_response

def index(request):
    return render_to_response('index.html', locals())

我也是 Django 的新手,所以不要讨厌!:) 我很乐意承认我是菜鸟...

4

2 回答 2

1

设置您的模板目录:

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

您的文件夹结构应类似于:

project_name/
    project_name/
        settings.py
        templates/
            index.html

文件夹结构尤为重要!

如果你还没有定义你的模板加载器:

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

我已经用 包装了标准加载cached.Loader器,有趣的是它只是缓存了预编译的模板。

另外,当我在这里时,请修复您的根 URL:

urlpatterns = patterns('',
    url(r'^$', 'apps.views.index'),

请注意正则表达式末尾的额外$终止,否则第一个 URL 将匹配每个 URL,并且其他 URL 都没有机会匹配。

于 2013-01-09T00:46:45.617 回答
0

尝试这个..

TEMPLATE_DIRS = (
    PROJECT_ROOT + '../templates/'/
)
于 2013-01-08T23:52:10.553 回答