位于/polls/index.html的TemplateDoesNotExist [英] TemplateDoesNotExist at /polls/ index.html

查看:71
本文介绍了位于/polls/index.html的TemplateDoesNotExist的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在做一个有关django项目的教程.其实早上是4.51,我只想让它工作.

I am doing a tutorial about django project. Actually it is 4.51 in the morning and i want to just make it work.

我的urls.py文件:

My urls.py file:

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

from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
    (r'^polls/$', 'polls.views.index'),
)

我的views.py文件:

My views.py file:

from django.shortcuts import render

# Create your views here.
from django.shortcuts import render_to_response


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

在文件夹模板中,我有index.html文件.它向我显示了相同的 TemplateDoesNotExist 错误,因此我进行了一些研究,我发现了这个问题所以我已经添加到我的settings.py此代码:

In the folder templates I have index.html file. It showed me the same TemplateDoesNotExist error, so I did some research and I found this question so I've added to my settings.py this code:

import os.path
SITE_ROOT = os.path.dirname(os.path.realpath(__file__))
TEMPLATE_DIRS = (
    os.path.join(SITE_ROOT, 'templates/'),
)

那么如何使其工作呢?

这是回溯:

    Environment:


Request Method: GET
Request URL: http://127.0.0.1:8000/polls/

Django Version: 1.6.1
Python Version: 3.3.3
Installed Applications:
('django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'polls')
Installed Middleware:
('django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware')

Template Loader Error:
Django tried loading these templates, in this order:
Using loader django.template.loaders.filesystem.Loader:
C:\Users\JD\PycharmProjects\MyDjangoApp\MyDjangoApp\templates\index.html

(文件不存在)使用loader django.template.loaders.app_directories.Loader:C:\ Python33 \ lib \ site-packages \ django \ contrib \ admin \ templates \ index.html(文件不存在)C:\ Python33 \ lib \ site-packages \ django \ contrib \ auth \ templates \ index.html(文件不存在)

(File does not exist) Using loader django.template.loaders.app_directories.Loader: C:\Python33\lib\site-packages\django\contrib\admin\templates\index.html (File does not exist) C:\Python33\lib\site-packages\django\contrib\auth\templates\index.html (File does not exist)

Traceback:
File "C:\Python33\lib\site-packages\django\core\handlers\base.py" in get_response
  114.                     response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "C:\Users\JD\PycharmProjects\MyDjangoApp\polls\views.py" in index
  8.     return render_to_response('index.html')
File "C:\Python33\lib\site-packages\django\shortcuts\__init__.py" in render_to_response
  29.     return HttpResponse(loader.render_to_string(*args, **kwargs), **httpresponse_kwargs)
File "C:\Python33\lib\site-packages\django\template\loader.py" in render_to_string
  162.         t = get_template(template_name)
File "C:\Python33\lib\site-packages\django\template\loader.py" in get_template
  138.     template, origin = find_template(template_name)
File "C:\Python33\lib\site-packages\django\template\loader.py" in find_template
  131.     raise TemplateDoesNotExist(name)

Exception Type: TemplateDoesNotExist at /polls/
Exception Value: index.html

推荐答案

更改

import os.path
SITE_ROOT = os.path.dirname(os.path.realpath(__file__))

import os
SITE_ROOT = os.path.dirname(os.path.dirname(__file__))

如果您查看回溯,Python会在您的app文件夹中寻找一个模板文件夹,我认为它与settings.py所在的文件夹相同.

If you look at your traceback, Python is looking for a template folder within your app folder, I assume that it would be the same folder as settings.py.

另一种方法是将模板文件夹复制到MyDjangoAPP文件夹中.

Another approach is to copy your templates folder into MyDjangoAPP folder.

这篇关于位于/polls/index.html的TemplateDoesNotExist的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆