python - django TemplateDoesNotExist 异常但模板存在

标签 python django

我正在尝试在 django 中渲染模板。 当我连接到该网站时出现此错误:

django.template.loaders.filesystem.Loader: path-to-azerty/templates/base.html (Source does not exist)

这是我的项目目录结构:

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')`    

最佳答案

您的“DIRS”设置适用于项目目录中的模板目录(包含 manage.py 的目录)。

如果您希望模板位于内部目录(包含settings.py的目录),那么您需要将其更改为:

os.path.join(BASE_DIR, 'azerty', 'templates')],

有时使用的另一个选项是将azerty 添加到您的INSTALLED_APPS。然后应用程序加载器将找到该目录,您可以使用 'DIRS': [],

关于python - django TemplateDoesNotExist 异常但模板存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49017297/

相关文章:

python - 我是否需要将另一个目录中文件的完整路径传递给 open()?

python - 在处理调查数据时,如何合并 pandas 中的列?

python - Pandas:如何使用 bool 索引定义的另一个单元格的值正确设置 bool 索引定义的值?

python - 如何在 django 模板标签中设置全局可访问的上下文变量?

python - Django formset 为多张图片上传创建多个输入

html - 尝试在 Django 中的表单上使用脆皮表单过滤器时收到 'invalid form: crispy' 错误,但仅在一个 django 应用程序中而不是在另一个应用程序中?

mysql - django扩展查询条件 `COLLATION`

python - Django 如何按字段覆盖模型匹配

python - Pandas 使用上一周期填充行值

python - 带有groupby的部分元素的 Pandas 累积总和