我的 django 项目在 localhost 中完美运行。
我试图在 Ubuntu-Apache 上部署它。
我做了 git clone
我得到了这个错误
TemplateDoesNotExist at /
哼?我注意这个错误信息django.template.loaders.filesystem.Loader: /templates/base_layout.html (Source does not exist)
此错误来自{% extends 'base_layout.html'%} (/home/ubuntu/django/blog/djangonautic/articles/templates/articles/article_list.html)
我希望 Django 在父文件夹 ({root}/templates) 中搜索模板。它的正确道路是
/home/ubuntu/django/blog/djangonautic/templates/base_layout.html
(文件在那里我检查过)为什么我的 Django 不在(根)模板中寻找它?
在 settings.py
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['templates', 'front/build'],
...
我猜是因为。 我在 Ubuntu 中创建的(不是在本地创建的)
我在关注 https://medium.com/saarthi-ai/ec2apachedjango-838e3f6014ab这个帖子。
但我不认为这是错误的,因为它在本地运行良好...
告诉我您需要调试的任何内容,我会尽快回答
已解决
添加
os.path.join
和工作...
最佳答案
'DIRS': [os.path.join(BASE_DIR, 'templates'),],
我认为您不应该在模板设置中省略 BASE_DIR 设置吗?
关于Django寻找模板文件的错误路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63097814/