提问者:小点点

Django:无法让主页正确显示模板不存在于/


我正在做一个新的Django项目,很难得到索引。html页面以正确显示。关于如何更改以使其正确显示,有什么建议吗?

我发现错误了

TemplateDoesNotExist at /

index.html

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

我的项目名/我的项目名称/设置.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'
)

myprojectname/myprojectname/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)),
)

django.shortcuts导入render_to_response

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

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


共2个答案

匿名用户

设置模板目录:

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',
    )),
)

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

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

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

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

匿名用户

试试这个。。

TEMPLATE_DIRS = (
    PROJECT_ROOT + '../templates/'/
)