django 为什么找不到模板?

kb5ga3dv  于 2023-01-14  发布在  Go
关注(0)|答案(1)|浏览(271)

这里是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

def iniciar_sesion(request):
    return render(request,'registrar/iniciar_sesion.html')

这就是

appweb
|-plantillas
   |-registrar
     |-iniciar_sesion.html

他找不到真奇怪,我不知道他为什么找不到

4uqofj5v

4uqofj5v1#

模板目录的设置是os. path. join(BASE_DIR,"templates"),但文件夹结构显示为plantillas/registrar/iniciar_session.html。
将DIRS中的模板更改为plantillas:

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR,"plantillas")],
        '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',
            ],
        },
    },
]

以后,当Django找不到你的模板时,可以使用模板加载程序事后分析,它是黄色条下的第一个灰色区域,上面写着TemplateDoesNotExist at/。它会告诉你它正在尝试查找的位置,你可以将它与它应该查找的位置进行比较。
希望这有帮助!

相关问题