TemplateDoesNotExist после запуска приложения на Heroku, локально работает нормально
Мое приложение отлично работает локально с производственными настройками и базой данных, и я успешно развернул приложение на Heroku. Вот структура моего проекта:
root folder
env
src
app
fund
static
staticfiles
templates
includes
funds_table.html
pagination.html
about_me.html
base.html
index.html
user_account
manage.py
requirements.txt
Procfile
.gitignore
Вот мои настройки для шаблонов:
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',
],
},
},
]
Я проверил, что os.path.join(BASE_DIR)
возвращает правильный путь - project_root/src
.
Когда я открываю приложение на Heroku, я получаю ошибку:
raise TemplateDoesNotExist(", ".join(template_name_list), chain=chain)
django.template.exceptions.TemplateDoesNotExist: index.html, fund/fund_list.html
"GET / HTTP/1.1" 500 145 "https://dashboard.heroku.com/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36"
Что интересно, у меня даже нет fund/fund_list.html
в моем приложении. Я пытался использовать Search Everywhere
в Pycharm, и этот файл не существует и даже нигде не упоминается. Я не уверен, почему Heroku пытается найти его.
Что я делаю не так?
вместо этого:
[os.path.join(BASE_DIR), 'templates'] #You did wrong here. it should not like this
добавьте это:
[os.path.join(BASE_DIR, 'templates')]
Попробуйте выше И загрузить снова и посмотреть, если это решает