我正在使用Django 2.0.7创建一个网站。我需要使用一个基本模板,该模板不在所有应用程序的权限范围内,但可以被项目中其他应用程序中的模板继承和使用。
我已经按照文档(根据文档)对settings.py文件进行了适当的编辑,但是当我进入网站的根目录(即首页)时,仍然会出现空白页面-有人可以解释为什么吗?
myproj
----manage.py
----app1
----templates/
base.html
index.html
----static/
----myproj
__initi__.py
wsgi.py
settings.py
urls.py
views.py # <- I added this
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
SITE_ROOT = os.path.dirname(os.path.realpath(__file__))
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['{0}/templates/'.format(BASE_DIR),],
'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',
],
},
},
]
from django.http import HttpResponse
def index(request):
return HttpResponse()
为什么django找不到我的index.html?
答案 0 :(得分:1)
在设置中使用'DIRS': [os.path.join(BASE_DIR, "templates")]
,然后视图应返回一个对象,该对象知道要渲染的模板,如下所示:
from django.shortcuts import render
def index(request):
return render(request, 'index.html')
还可以根据需要返回TemplateResponse(), SimpleTemplateResponse()和其他对象。