Django寻找模板文件的错误路径

标签 django apache ubuntu deployment django-templates

我的 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 中创建的(不是在本地创建的)
  • Apache 配置
    我在关注 https://medium.com/saarthi-ai/ec2apachedjango-838e3f6014ab这个帖子。
  • settings.py 有问题
    但我不认为这是错误的,因为它在本地运行良好...

  • 告诉我您需要调试的任何内容,我会尽快回答
    已解决
    添加 os.path.join和工作...

    最佳答案

    'DIRS': [os.path.join(BASE_DIR, 'templates'),],
    
    我认为您不应该在模板设置中省略 BASE_DIR 设置吗?

    关于Django寻找模板文件的错误路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63097814/

    相关文章:

    Django - 在模板中单独呈现 CheckboxSelectMultiple() 小部件(手动)

    java - 无法启动Tomcat

    bash - 为什么函数中的 'getopts' 不起作用?

    c++ - 对 `omp_get_num_procs' 的 undefined reference

    ubuntu - Docker - 无法连接到 Docker 守护进程

    javascript - 在 Django 模板标签中插入一个 JS 变量

    django - 如何在 django (1.8) 迁移中删除索引 varchar_pattern_ops?

    java - http POST 请求 JSON 对象中的空指针异常错误

    apache - 如何使用 lua 获取 HTTP 响应体?

    asp.net - 如何为facebook开发应用程序?