2016-05-02 11 views
-1

まだ投稿されている解決策は私のために働いているようです。TemplateDoesNotExist at/at templates/index.html

これは私のプロジェクトディレクトリです。

. 
|-- auto 
| |-- admin.py 
| |-- apps.py 
| |-- __init__.py 
| |-- migrations 
| |-- models.py 
| |-- views.py 
|-- db.sqlite3 
|-- manage.py 
|-- mysite 
| |-- __init__.py 
| |-- settings.py 
| |-- test.py 
| |-- urls.py 
| |-- wsgi.py 
|-- static 
| |-- index.html 
`-- templates 
    `-- index.html 

これは私のsettings.py

STATIC_URL = '/static/' 

STATICFILES_DIRS = (
    os.path.join(os.path.dirname(__file__), '../static/'), 
) 

TEMPLATE_DIRS = (
    os.path.join(BASE_DIR, '../templates'), 
) 

である私も試してみた、

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

これは私のviews.py

def render_landing_page(request, template="templates/index.html"): 
    return render(request, template, context_instance=RequestContext(request)) 

であり、これが私ですurls.py

.0.0.1:8000/で
urlpatterns = [ 
    url(r'^admin/', admin.site.urls), 
    url(r'^$', views.render_landing_page), 

] 

私は127.0.0.1:8000/static/index.htmlに行くとき、私は、

Request Method: GET 
Request URL: http://127.0.0.1:8000/ 
Django Version: 1.9.4 
Exception Type: TemplateDoesNotExist 
Exception Value:  
templates/index.html 

"/でTemplateDoesNotExist" を得る。しかし。ページがレンダリングされます。

+0

'TEMPLATE_DIRS'はDjangoの1.8で廃止されました。代わりにhttps://docs.djangoproject.com/en/1.9/ref/settings/#templatesを使用してください。 – Selcuk

答えて

0

「テンプレート」プレフィックスは含めないでください。コメントで述べたように

def render_landing_page(request, template="index.html"): 

また、TEMPLATE_DIRSは削除されました:テンプレート辞書を使用しています。

0

テンプレートパスにはtemplates/は必要ありません.Djangoに設定済みのディレクトリを調べるように指示しているからです。また、context_instance=RequestContext(request)が廃止されて、あなたは自分の文脈含む辞書返す必要があります(お使いの場合は、空の辞書を?):

def render_landing_page(request, template="index.html"): 
    return render(request, template, {})