我的代码运行良好,直到昨天。我已经在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,但这只是默认的内容。
您的想法吗?
答案 0 :(得分:0)
经过两天的问题解决后,我决定再回去,然后重新安装django软件包。由于某些未知原因,它解决了我的问题。但是我仍然不确定是否缺少任何软件包/模块/定义,为什么没有在日志中报告它?!
对于任何在同一问题上苦苦挣扎的人,我建议一次退一步。
检查您的应用views.py和urls.py
检查您的项目urls.py
检查您是否已在settings.py中注册了该应用程序
检查C:\ Users \ AppData \ Local \ Programs \ Python \ Python36 \ Lib \ site-packages \ django \ template目录中的相关文件
对于其他可能在这里提出建议的专家,请随时发表评论/发表。