Как устранить ошибку TemplateDoesNotExist, когда кажется, что Django ищет правильный путь - PullRequest
1 голос
/ 27 июня 2019

Я настраиваю структуру для нового проекта в Джанго. Я создал приложение «Учетные записи», в которое я добавил папку с шаблонами, содержащую HTML-шаблон. Однако, когда я захожу на сервер разработки и нажимаю ссылку на эту страницу на моей странице индекса (которая не загружается), она возвращает сообщение об ошибке TemplateDoesNotExist.

Я изучил сообщение об ошибке, и в посмертном шаблоне-загрузчике указан правильный путь для моего HTML-шаблона (я проверял это и проверял бесчисленное количество раз), предполагая, что Django ищет его в нужном месте. Тем не менее, он также говорит, что «источник не существует». У кого-нибудь есть советы по устранению неполадок, учитывая, что Джанго, кажется, ищет правильный путь?

# From settings.py ('accounts' is also included with INSTALLED_APPS):

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

# ...

'DIRS': [os.path.join(BASE_DIR, 'templates')],

# From urls.py:

from django.conf.urls import url, include
from accounts.views import index

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^$', index, name="index"),
    url(r'^accounts/', include('accounts.urls')),
]

# From urls.py (accounts):

from .views import signup

urlpatterns = [
    url(r'^signup/$', signup, name="signup"),
]

# From views.py (accounts):

def signup(request):
    return render(request, 'signup')

1 Ответ

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

Я думаю, у вас есть более новая версия django на вашем сервере.

DIRS теперь (2.2) в TEMPLATES с настройкой вар.На старой версии django (например: 1.8) находился в DIRS настройке var.

Затем проверяет версии и перемещается к новой и использует:

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates')],
        'APP_DIRS': True,
        ...
    },
]

в настройках.

...