TemplateDoesNotExist存在于特定位置

时间:2019-06-11 18:07:59

标签: django python-3.x

我的代码运行良好,直到昨天。我已经在Heroku上部署了该应用程序,并且运行良好。我想研究应用程序的安全性,所以今天我直接在heroku上部署了一些代码更改。当运行不正常时,我还原了更改,并错误地将settings.py从生产服务器复制到开发服务器。现在,尽管我的开发服务器无法找到模板,但是已部署的代码可以完美地运行!

当我意识到我正在使用生产settings.py时,我进行了必要的更改。 Debug = True,删除了安全头,并确保中间件是默认的。

最初,我在访问https://localhost:8000

时始终遇到以下错误
You're accessing the development server over HTTPS, but it only supports HTTP.

然后我将网址更改为127.0.0.1:8000,然后开始出现以下错误

raise TemplateDoesNotExist(template_name, chain=chain)
django.template.exceptions.TemplateDoesNotExist: my_form/index.html
[11/Jun/2019 23:25:49] "GET / HTTP/1.1" 500 88781

我什至试图从头开始该项目,甚至从浏览器中清除了我的缓存。

项目结构:

├───my_server
│   ├───my_form
│   │   ├───migrations
│   │   │   └───__pycache__
│   │   ├───static
│   │   │   └───raffle_form
│   │   │       ├───images
│   │   │       └───styles
│   │   ├───templates
│   │   │   └───my_form
│   │   └───__pycache__
│   └───my_server
│       └───__pycache__

这是my_server中的urls.py:

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('my_form.urls')),
]

这是my_form中的urls.py:

from django.urls import path

from . import views

urlpatterns = [
    path('', views.index, name='index'),
]

这是my_form应用程序中的views.py:

from django.shortcuts import render

# Create your views here.
def index(request):
    return render(request, 'my_form/index.html')

我已经在my_form应用程序中创建了一个模板文件夹。在模板中,我有my_form文件夹,其中包含index.html文件

我很确定该设置没有问题,因为它已经可以工作了。我相信诀窍是刷新一些文件或更新我的settings.py

如果有要显示的内容,我本可以共享我的settings.py,但这只是默认的内容。

您的想法吗?

1 个答案:

答案 0 :(得分:0)

经过两天的问题解决后,我决定再回去,然后重新安装django软件包。由于某些未知原因,它解决了我的问题。但是我仍然不确定是否缺少任何软件包/模块/定义,为什么没有在日志中报告它?!

对于任何在同一问题上苦苦挣扎的人,我建议一次退一步。

  •   

    检查您的应用views.py和urls.py

  •   

    检查您的项目urls.py

  •   

    检查您是否已在settings.py中注册了该应用程序

  •   

    检查C:\ Users \ AppData \ Local \ Programs \ Python \ Python36 \ Lib \ site-packages \ django \ template目录中的相关文件

对于其他可能在这里提出建议的专家,请随时发表评论/发表。