我正在尝试在django中渲染模板。 当我连接到网站时出现此错误:
django.template.loaders.filesystem.Loader:path-to-azerty / templates / base.html(源不存在)
这是我的项目目录结构:
azerty/
__init__.py
├── settings.py
├── templates
│ └── base.html
├── urls.py
├── views.py
└── wsgi.py
这是我的代码:
// ulrs.py
from django.contrib import admin
from django.urls import path
from azerty import views
urlpatterns = [
path('', views.index),
path('admin/', admin.site.urls),
]
// settings.py
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',
],
},
},
]
//views.py
from django.shortcuts import render
def welcome(request):
return render(request, 'base.html')`
答案 0 :(得分:2)
你的' DIRS'设置用于项目目录中的模板目录(包含manage.py的目录)。
如果您希望模板位于内部目录(包含settings.py的目录)上,则需要将其更改为:
os.path.join(BASE_DIR, 'azerty', 'templates')],
有时使用的另一个选项是将azerty
添加到INSTALLED_APPS
。然后,app loader将找到该目录,您可以使用'DIRS': [],