Django 模板不存在

Posted

技术标签:

【中文标题】Django 模板不存在【英文标题】:Django templates does not exist 【发布时间】:2017-01-23 20:16:42 【问题描述】:

所以我在 Windows 上工作并尝试加载我的网站主页。但是我得到''模板不存在''错误,我不知道为什么,

TemplateDoesNotExist at /
home/home.html
Request Method: GET
Request URL:    http://127.0.0.1:8000/
Django Version: 1.10.1
Exception Type: TemplateDoesNotExist
Exception Value:    
home/home.html
Exception Location: C:\Python35\lib\site-packages\django\template\loader.py in get_template, line 25
Python Executable:  C:\Python35\python.exe
Python Version: 3.5.2
Python Path:    

Here is my Tracerback

您可以在那里看到 Django 甚至无法加载一些要测试的模板。我见过其他人有同样的问题,但至少有一个我试过的模板列表,我什至没有这个。

这是我的家/views.py

class IndexView(View):
    template_name = 'home/home.html'

    # not logged in
    def get(self, request):
        return render(request, self.template_name)

这是我的setting.py中的模板变量

TEMPLATE = [
    
        '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',
            ],
        ,
    ,
]

在我的代码中,我的结构是 this 可以看到我在installed_app中添加了Home

然而,在更改项目的路径根目录后,更改我的 python 版本(3.5 而不是 2.7)将模板文件夹放在我的 manage.py 的同一级别并将 APPS_DIR 更改为 false 我仍然一无所获。我试图知道这是否是路径问题,所以我将文件放在项目的根目录中并使用 python 的 isFile 函数进行测试,返回为真,但如果我尝试将页面呈现为相同的链接,我会收到错误。所以我不知道这是否是我的代码,我的项目配置(虚拟环境,django 等),我使用 pycharm 并且我在 Windows 8.1 上真的很烦人

【问题讨论】:

【参考方案1】:

您可以尝试在 settings.py 中使用此路径来正确调用模板:

'DIRS': [
            os.path.join(PROJECT_ROOT, 'templates').replace('\\','/'),
        ],

【讨论】:

完成了,但仍然一无所获.. 我不知道我的问题是否与 one 相同,但我不明白他是如何解决问题的【参考方案2】:

您不应该将您的应用程序放在apps 包中。尝试将您的应用程序架构替换为类似

INSTALLED_APPS = [
   'applications.events',
   'applications.student',
   'applications.resume',
   'applications.home`,
]

而不是"something.apps.somethingelse"

那是 Pythonic。

【讨论】:

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

Django 模板不存在@

Django 模板不存在

模板不存在。加载静态文件和模板 Django 项目结构

模板不存在“django 2.0”

模板不存在。 Django寻找错误的路径

Django CMS - 创建第一页时模板不存在错误