1

私は新しいDjangoプロジェクトに取り組んでおり、index.htmlページを正しく表示するのに非常に苦労しています。正しく表示するために何を変更するかについてのアドバイスはありますか?

エラーが発生します

TemplateDoesNotExist at /

index.html

各ファイルの設定は以下のとおりです。

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

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

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 に答える