【发布时间】:2021-04-08 09:00:36
【问题描述】:
我在django渲染函数中调用了一个模板,但是django找不到
这里是django视图代码:
from django.shortcuts import render
# Create your views here.
def home_page(request):
return render(request, "index.html")
在此之后,我尝试检查我的 settings.py 和 urls.py,但一无所获,并且该文件也在应用程序的 tamplate 子文件夹中
这是目录结构:
│ .gitignore
│ db.sqlite3
│ funcational_test.py
│ manage.py
│
├─Terminal_equipment_management
│ │ asgi.py
│ │ settings.py
│ │ urls.py
│ │ view.py
│ │ wsgi.py
│ │ __init__.py
│ │
│ └─__pycache__
│
└─webui
│ admin.py
│ apps.py
│ models.py
│ tests.py
│ views.py
│ __init__.py
│
├─migrations
│
├─templates
index.html
settings.py 是:
INSTALLED_APPS = [
"api",
"webui",
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [],
'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',
],
},
},
]
urls.py 是:
from django.contrib import admin
from django.urls import path, include
from webui import views
urlpatterns = [
path("", views.home_page, name="home_page"),
]
但是当我访问 localhost:8000/ 时,Django 会在 / 处报告 TemplateDoesNotExist 这是一些错误消息: 模板加载器事后分析 Django 尝试按以下顺序加载这些模板:
使用引擎 django:
django.template.loaders.app_directories.Loader: C:\ProgramData\Miniconda3\lib\site-packages\django\contrib\admin\templates\index.html(源不存在) django.template.loaders.app_directories.Loader: C:\ProgramData\Miniconda3\lib\site-packages\django\contrib\auth\templates\index.html(源不存在)
当我将文件复制到以上两个文件夹时,模板就生效了。 我不确定发生了什么
通过谷歌翻译
【问题讨论】:
-
目录名是
templates,不是tamplate。