TemplateDoesNotExist в / (проблема маршрутизации с django) - PullRequest
0 голосов
/ 23 февраля 2020

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

Я знаю, что это хорошо известная проблема, встречающаяся в парадигме django, но я просто не знаю, что еще делать.

Я переместил папку 'templates' поверх папки основного каталога, обратно в папка приложения, туда и обратно; Я удостоверился, что имена файлов правильны, как в указанных мной путях; Я удостоверился, что упомянул название приложения на INSTALLED_APPS, чтобы django загрузил шаблон приложения

Все, что я получаю взамен:

Метод запроса: GET Запрос URL: http://localhost: 8000 / Django Версия: 3.0.2 Тип исключения: TemplateDoesNotExist Значение исключения:
blog / home. html

Вот мой INSTALLED_APPS раздел settings.py:

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'blog.apps.BlogConfig',

My ШАБЛОНЫ

TEMPLATES = [
{
    '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',
        ],
    },
},

И, наконец, представления. py из приложения

from django.shortcuts import render 
from django.http import HttpResponse

def home(request):
    return render(request,'blog/home.html')

Ответы [ 2 ]

1 голос
/ 23 февраля 2020

Ошибка TemplateDoesNotExist предполагает, что он не может найти блог / дом. html в папке шаблонов.

Если это не так, не могли бы вы предоставить более подробную информацию о структуре папок?

должно быть примерно так

my_blog_project
 - manage.py
 - blog_app
  -- urls.py
  -- views.py etc...
 - templates
  -- blog
    --- home.html
0 голосов
/ 23 февраля 2020

Вот оно. Я забыл поделиться им.

C:.
│   db.sqlite3
│   manage.py
│
├───blog
│   │   admin.py
│   │   apps.py
│   │   models.py
│   │   tests.py
│   │   urls.py
│   │   views.py
│   │   __init__.py
│   │
│   ├───migrations
│   │   │   __init__.py
│   │   │
│   │   └───__pycache__
│   │           __init__.cpython-38.pyc
│   │
│   ├───templates
│   │   └───blog
│   │           home.html
│   │
│   └───__pycache__
│           admin.cpython-38.pyc
│           apps.cpython-38.pyc
│           models.cpython-38.pyc
│           urls.cpython-38.pyc
│           views.cpython-38.pyc
│           __init__.cpython-38.pyc
│
└───django_project
    │   asgi.py
    │   settings.py
    │   urls.py
    │   wsgi.py
    │   __init__.py
    │
    └───__pycache__
            settings.cpython-38.pyc
            urls.cpython-38.pyc
            wsgi.cpython-38.pyc
            __init__.cpython-38.pyc

// LE: Оказывается, я все сделал правильно, за исключением того, что я не знал, django не любит самообновляться после каждого редактирования, которое я сделал на файлах приложения. Я закрыл приложение и перезапустил его несколько раз без перезагрузки компьютера. По какой-то неизвестной причине он работал нормально после нескольких часов бездействия.

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