TemplateDoesNotExist at / base.html

друзья. Я пытаюсь повторить, выполнив пример проекта в книге: «Изучение Django Web Development» Jaiswal, Sanjeev.

Запуск сервера я получаю такое исключение: TemplateDoesNoesExist в /base.html

TemplateDoesNotExist at / base.html Request Method: GET Request URL: http://127.0.0.1:8000/ Django Version: 1.8.3 Exception Type: TemplateDoesNotExist Exception Value: base.html Exception Location: C:\Python34\lib\site-packages\django\template\loader.py in get_template, line 46 Python Executable: C:\Python34\python.EXE Python Version: 3.4.3 Python Path: ['C:\\dj\\mytweets', 'C:\\WINDOWS\\system32\\python34.zip', 'C:\\Python34\\DLLs', 'C:\\Python34\\lib', 'C:\\Python34', 'C:\\Python34\\lib\\site-packages'] Server time: Tue, 14 Jul 2015 14:01:27 +0300 

Шаблон-загрузчик postmortem

 Django tried loading these templates, in this order: Using loader django.template.loaders.filesystem.Loader: Using loader django.template.loaders.app_directories.Loader: C:\Python34\lib\site-packages\django\contrib\admin\templates\base.html (File does not exist) C:\Python34\lib\site-packages\django\contrib\auth\templates\base.html (File does not exist) 

Мой файл settings.py:

 import os SETTINGS_PATH = os.path.dirname(__file__) PROJECT_PATH = os.path.join(SETTINGS_PATH, os.pardir) PROJECT_PATH = os.path.abspath(PROJECT_PATH) TEMPLATE_PATH = os.path.join(PROJECT_PATH, "templates") SECRET_KEY = 'khcr3h6u+ghi+rtb+g_(mvgq!mtn9u4&%=hu20vt2*u(p8-kde' DEBUG = True TEMPLATE_DEBUG = True ALLOWED_HOSTS = [] INSTALLED_APPS = ( 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'tweets', ) MIDDLEWARE_CLASSES = ( 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.auth.middleware.SessionAuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'django.middleware.security.SecurityMiddleware', ) ROOT_URLCONF = 'mytweets.urls' TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [os.path.join(PROJECT_PATH, 'templates')], 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', ], }, }, ] WSGI_APPLICATION = 'mytweets.wsgi.application' DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(PROJECT_PATH, 'db.sqlite3'), } } LANGUAGE_CODE = 'en-us' TIME_ZONE = 'UTC' USE_I18N = True USE_L10N = True USE_TZ = True STATIC_URL = '/static/' STATICFILES_DIRS = ( os.path.join( os.path.dirname(__file__), 'static', ), ) TEMPLATE_DIRS = ( TEMPLATE_PATH, ) TEMPLATE_LOADERS = ( 'django.template.loaders.filesystem.Loader', 'django.template.loaders.app_directories.Loader', ) 

Я также попытался изменить settings.py таким образом:

изменено settings.py:

 import os BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) TEMPLATE_PATH = os.path.join(BASE_DIR, "templates") SECRET_KEY = 'khcr3h6u+ghi+rtb+g_(mvgq!mtn9u4&%=hu20vt2*u(p8-kde' DEBUG = True TEMPLATE_DEBUG = True ALLOWED_HOSTS = [] INSTALLED_APPS = ( 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'tweets', ) MIDDLEWARE_CLASSES = ( 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.auth.middleware.SessionAuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'django.middleware.security.SecurityMiddleware', ) ROOT_URLCONF = 'mytweets.urls' TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [os.path.join(BASE_DIR, 'templates')], 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', ], }, }, ] WSGI_APPLICATION = 'mytweets.wsgi.application' DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } } LANGUAGE_CODE = 'en-us' TIME_ZONE = 'UTC' USE_I18N = True USE_L10N = True USE_TZ = True STATIC_URL = '/static/' STATICFILES_DIRS = ( os.path.join( os.path.dirname(__file__), 'static', ), ) 

Моя структура проекта:

Моя структура проекта:

views.py:

 from django.views.generic import View from django.shortcuts import render class Index(View): def get(self, request): params = {} params['name'] = 'Django' return render(request, 'base.html', params) 

urls.py:

 from django.conf.urls import patterns, include, url from django.contrib import admin from tweets.views import Index admin.autodiscover() urlpatterns = patterns('', url(r'^$', Index.as_view()), url(r'^admin/', include(admin.site.urls)), ) 

Выслеживать:

 Template Loader Error: Django tried loading these templates, in this order: Using loader django.template.loaders.filesystem.Loader: Using loader django.template.loaders.app_directories.Loader: C:\Python34\lib\site-packages\django\contrib\admin\templates\base.html (File does not exist) C:\Python34\lib\site-packages\django\contrib\auth\templates\base.html (File does not exist) Traceback: File "C:\Python34\lib\site-packages\django\core\handlers\base.py" in get_response 132.response = wrapped_callback(request, *callback_args, **callback_kwargs) File "C:\Python34\lib\site-packages\django\views\generic\base.py" in view 71.return self.dispatch(request, *args, **kwargs) File "C:\Python34\lib\site-packages\django\views\generic\base.py" in dispatch 89.return handler(request, *args, **kwargs) File "C:\dj\mytweets\tweets\views.py" in get 9.return render(request, 'base.html', params) File "C:\Python34\lib\site-packages\django\shortcuts.py" in render 67.template_name, context, request=request, using=using) File "C:\Python34\lib\site-packages\django\template\loader.py" in render_to_string 98.template = get_template(template_name, using=using) File "C:\Python34\lib\site-packages\django\template\loader.py" in get_template 46.raise TemplateDoesNotExist(template_name) Exception Type: TemplateDoesNotExist at / Exception Value: base.html 

Пожалуйста, дайте совет, что я должен изменить, чтобы получить отображаемую страницу?

2 Solutions collect form web for “TemplateDoesNotExist at / base.html”

Я не знаком с книгой, которую вы используете, поэтому я не могу дать вам никаких советов, основанных на этом. Если книга предназначена для Django 1.7, вам будет проще использовать Django 1.7 вместо Django 1.8, по крайней мере, когда вы начинаете с Django.

Если вы хотите придерживаться Django 1.8, вот как исправить ошибку, которую вы сейчас видите:

В файле settings.py есть набор параметров старых шаблонов, таких как TEMPLATE_DIRS и TEMPLATE_LOADERS (Django <= 1.7), а также новые настройки в разделе TEMPLATES (Django 1.8+).

Сначала удалите старые настройки TEMPLATE_DIRS и TEMPLATE_LOADERS .

Во-вторых, похоже, что DIRS неверно в настройке TEMPLATES .

Определите BASE_DIR , который должен быть включен в settings.py по умолчанию при запуске ./manage.py startproject

 BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) 

Затем измените TEMPLATES на

 TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [os.path.join(BASE_DIR, 'templates')], ... 

Задайте путь к шаблону в DIR [] параметров settings.py

  TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [**'C:\\Python27\\Lib\\site-packages\\django\\contrib\\admin\\templates\\admin'**], 'APP_DIRS':True, 'OPTIONS': { 
  • Модели Django - по крайней мере один из многих для многих
  • Django on Heroku dumpdata неполный выход
  • Фильтр Django по часам
  • Django - удаление объекта, сохранение родителя?
  • Худшие практики в Django, которые вы когда-либо видели
  • Отображение графиков / диаграмм в Django
  • Переведите xml-строку в html, я получил сообщения об ошибках
  • Поле auto-increment Django BigInteger в качестве первичного ключа?
  • Санитарный анализ HTML в представленных данных формы
  • Как добавить класс HTML в help_text формы Django?
  • Значок Django csrf + Angularjs
  • Python - лучший язык программирования в мире.