为啥 Heroku 找不到我的 Django 模板?

Posted

技术标签:

【中文标题】为啥 Heroku 找不到我的 Django 模板?【英文标题】:Why Heroku can't find my Django templates?为什么 Heroku 找不到我的 Django 模板? 【发布时间】:2022-01-15 22:23:48 【问题描述】:

我在 Heroku 上部署了我的项目。但它找不到我的模板(源不存在):

我的项目架构:

settings.py:

from pathlib import Path
import sys
import os

BASE_DIR = Path(__file__).resolve().parent.parent

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',
            ],
        ,
    ,
]

更新:帐户应用程序中的所有模板都通过此扩展加载

【问题讨论】:

请注意,Django 正在寻找作者,但您有一个名为 author 的文件夹 你有没有模板base/base.html,它在哪里? templates/base/base.html @LiorPollak,没关系,因为对于应用程序“作者”,我有 URL 路径“/authors” 那么这个错误是非常具有描述性的。您需要有一个基本的 html 模板。 【参考方案1】:

问题解决了。有多余的空格,比如% extends 'base/base.html ' %

【讨论】:

以上是关于为啥 Heroku 找不到我的 Django 模板?的主要内容,如果未能解决你的问题,请参考以下文章

Django:Heroku 上的生产应用程序找不到带有“路径”urlpattern 的模板

Django,TemplateDoesNotExist 错误:Heroku 找不到模板目录。如何显示它在哪里看?

找不到静态文件 - 在 Heroku 上部署 Django

Django React -- Heroku 上的部署错误(找不到页面 404)

在 Heroku 上找不到 Django 静态文件(带白噪声)

找不到模块'corsheaders' django/heroku deploy