TemplateDoesNotExist в определенном месте - PullRequest
1 голос
/ 11 июня 2019

Мой код работал отлично до вчерашнего дня. Я развернул приложение на героку и все прошло хорошо. Я хотел поработать над безопасностью приложения, поэтому сегодня я развернул некоторые изменения кода прямо на heroku. Когда он не работал идеально, я отменил изменения и по ошибке скопировал файл settings.py со своего рабочего сервера на сервер разработки. Теперь развернутый код работает отлично, хотя мой сервер разработки не может найти шаблоны!

Когда я понял, что я использую производственные settings.py, я внес необходимые изменения. Debug = True, удалил заголовки безопасности и убедился, что промежуточное ПО было по умолчанию.

Изначально я продолжал получать приведенную ниже ошибку при доступе к https://localhost:8000

You're accessing the development server over HTTPS, but it only supports HTTP.

Затем я изменил свой URL-адрес просто на 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__

Вот urls.py от my_server:

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

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

Вот urls.py из my_form:

from django.urls import path

from . import views

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

Вот views.py из приложения my_form:

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, если бы было что показать, но это просто по умолчанию.

Ваши мысли?

1 Ответ

0 голосов
/ 17 июня 2019

После почти двухдневного боя с проблемой я решил вернуться еще дальше и переустановить пакеты django.По какой-то неизвестной причине это решило мою проблему.Однако я все еще не уверен, что какой-либо пакет / модуль / определение отсутствовал, почему об этом не сообщалось в журналах?!

Всем, кто борется с той же проблемой, я бы предложил вернуться кшаг за шагом.

  • Проверьте свои приложения views.py и urls.py

  • Проверьте свои проекты urls.py

  • Проверьте, зарегистрировали ли вы приложение в файле settings.py

  • Проверьте CКаталог: \ Users \ AppData \ Local \ Programs \ Python \ Python36 \ Lib \ site-packages \ django \ template для соответствующих файлов

Что касается других экспертов, которые могут иметьнемного света, чтобы добавить сюда, пожалуйста, не стесняйтесь комментировать / пост.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...