模板不存在" django 2.0"

时间:2017-12-12 14:06:31

标签: django django-views django-settings

请有人帮助我,我无法弄清楚在djano 2.0中渲染模板时出现的错误 我创建了一个应用程序,并在views.py部分,我添加了所有than代码行的manange.py导入的URL(直接在视图中)尝试运行服务器(python views.py runserver)

这是我在views.py

中的完整代码
import os
import sys
from django.conf import settings

DEBUG = os.environ.get('DEBUG', 'on') == 'on'
SECRET_KEY = os.environ.get('SECRET_KEY', os.urandom(32))
ALLOWED_HOSTS = os.environ.get( 'localhost','127.0.0.1').split(',')
BASE_DIR = os.path.dirname(__file__)

settings.configure(
DEBUG=DEBUG,
SECRET_KEY=SECRET_KEY,
ALLOWED_HOSTS=ALLOWED_HOSTS,

ROOT_URLCONF=__name__,
MIDDLEWARE_CLASSES=(
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
),
)
INSTALLED_APPS=(
'django.contrib.staticfiles',
'django.contrib.contenttypes',
'django.contrib.auth',
),
TEMPLATE_DIRS=(
os.path.join(BASE_DIR, 'templates'),
),
STATICFILES_DIRS=(
os.path.join(BASE_DIR, 'static'),
),
STATIC_URL='/static/',

#############################views & urls###############################s

from django import forms
from django.urls import path,include
from django.core.cache import cache
from django.core.wsgi import get_wsgi_application
from django.http import HttpResponse, HttpResponseBadRequest
from django.shortcuts import render
from django.views.decorators.http import etag

# Create your views here.

application = get_wsgi_application()

def home(request):
    return render(request,'index.html')

urlpatterns=[


path('',home,name='home'),

]
######################################   #############################################
if __name__ == "__main__":
    from django.core.management import execute_from_command_line
    execute_from_command_line(sys.argv)

我尝试将模板放在视图存在的同一目录中,也放在app文件夹的外部

我应该得到一本基本模板,如书轻量级django

中所述

代替:

TemplateDoesNotExist at /

index.html

Request Method:     GET
Request URL:    http://127.0.0.1:8000/
Django Version:     2.0
Exception Type:     TemplateDoesNotExist
Exception Value:    

index.html

Exception Location:     C:\Users\madhumani\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\template\loader.py in get_template, line 19
Python Executable:  C:\Users\madhumani\AppData\Local\Programs\Python\Python36-32\python.exe
Python Version:     3.6.2
Python Path:    

['D:\\python\\tempo python\\dajngo rest api\\api\\pi',
 'C:\\Users\\madhumani\\AppData\\Local\\Programs\\Python\\Python36-32\\python36.zip',
 'C:\\Users\\madhumani\\AppData\\Local\\Programs\\Python\\Python36-32\\DLLs',
 'C:\\Users\\madhumani\\AppData\\Local\\Programs\\Python\\Python36-32\\lib',
 'C:\\Users\\madhumani\\AppData\\Local\\Programs\\Python\\Python36-32',
 'C:\\Users\\madhumani\\AppData\\Roaming\\Python\\Python36\\site-packages',
 'C:\\Users\\madhumani\\AppData\\Local\\Programs\\Python\\Python36-32\\lib\\site-packages']

1 个答案:

答案 0 :(得分:1)

自Django 1.10以来,TEMPLATE_DIRS一直不受支持。您应该获得更新的指南。

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

(另外,请勿将您的设置放在您的视图中。出于某种原因,还有一个settings.py文件。)