找不到django模板

Posted

技术标签:

【中文标题】找不到django模板【英文标题】:django templates not found 【发布时间】:2018-01-02 09:42:58 【问题描述】:

我已经查找了几乎所有问题,但仍然没有一个答案对我有用。我得到的错误:

我的 BASE_DIRS = "/home/amank/Adevelopment/test/mechanical/templates" 这没关系,但 django 仍然在寻找不同的不相关路径,如屏幕截图所示......

我的相关设置:

import os
BASE_DIR = os.path.dirname(os.path.dirname(__file__))
.
.
.
TEMPLATES = [

    'BACKEND': 'django.template.backends.django.DjangoTemplates',
    'DIRS': [os.path.join(BASE_DIR, "templates")],
    'APP_DIRS': True,
    'OPTIONS': 
        'debug': DEBUG,
        'context_processors': [
            'django.template.context_processors.debug',
            'django.template.context_processors.request',
            'django.contrib.auth.context_processors.auth',
            'django.contrib.messages.context_processors.messages',
        ],
    ,
,
]

在 settings.py 中手动提供模板路径的任何方法?

Traceback

问题已解决..但我仍然不明白背后的原因。我已经在下面发布了解决方案..

【问题讨论】:

我通过添加问号并删除括号来编辑您的最后一句话。我希望我没有误解你的意思。你能查一下吗? 你的静态文件在工作吗?基本目录 var 应为 BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))),注释为 APP_DIRSlane 好的,我发现了错误……我的模板位于项目目录中,而不是在项目的应用程序中……所以它不在应用程序中搜索(安装的应用程序)。 ..但仍然有任何方法可以让django在项目中加载模板..我的意思是你明白了..但我不明白它在互联网上工作正常(me.iitb.ac.in/home)为什么不在我的本地电脑上. @MauricioCortazar 也尝试过。 【参考方案1】:

转到你的主项目目录,确保你有

templates

目录里面。在templates 里面应该有home 目录,里面应该有index.html

此答案基于问题中提供的图片。

【讨论】:

我已经有了...我想我也应该添加我的文件结构 检查你的 BASE_DIR 是 BASE_DIR=os.path.dirname(os.path.dirname(os.path.abspath(__file__)))【参考方案2】:

我让它以某种方式工作,但我什至不知道它是如何工作的......基本上 我完全删除了这部分

     TEMPLATES = [

    'BACKEND': 'django.template.backends.django.DjangoTemplates',
    'DIRS': [os.path.join(BASE_DIR, "templates")],
    'APP_DIRS': True,
    'OPTIONS': 
        'debug': DEBUG,
        'context_processors': [
            'django.template.context_processors.debug',
            'django.template.context_processors.request',
            'django.contrib.auth.context_processors.auth',
            'django.contrib.messages.context_processors.messages',
        ],
    ,
,
]

并将其替换为

TEMPLATE_DIRS = (
    "/home/amank/Adevelopment/test/mechanical/templates",
)

它以某种方式起作用。如果有人能解释为什么之前它不能在 PC 上运行,而相同的代码在互联网 www.me.iitb.ac.in 上运行它?

【讨论】:

在任何django 项目中提供绝对路径都不是一个好方法,总是更喜欢提供相对路径,以便您的项目在任何地方都可以工作,而与您的根项目文件所在的机器、平台和目录无关位于。

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

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

Django 找不到模板

Django包含找不到模板

找不到模板文件 Django

找不到django模板

Django 找不到模板目录?