请有人帮助我,我无法弄清楚在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']
答案 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文件。)