Внутренняя ошибка сервера на cmd,TemplateDoesNotExist в / index.html

Я работаю над созданием веб-приложения с помощью Django и столкнулся со следующей ошибкой:

Internal Server Error: /
Traceback (most recent call last):
File "D:\New folder\env\Lib\site-packages\django\core\handlers\exception.py", line 55, in inner
   response = get_response(request)
               ^^^^^^^^^^^^^^^^^^^^^
  File "D:\New folder\env\Lib\site-packages\django\core\handlers\base.py", line 197, in      _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\New folder\core\home\views.py", line 10, in home
    return HttpResponse(render(request, 'index.html'))
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\New folder\env\Lib\site-packages\django\shortcuts.py", line 24, in render
    content = loader.render_to_string(template_name, context, request, using=using)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\New folder\env\Lib\site-packages\django\template\loader.py", line 61, in render_to_string
    template = get_template(template_name, using=using)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\New folder\env\Lib\site-packages\django\template\loader.py", line 19, in get_template
    raise TemplateDoesNotExist(template_name, chain=chain)
django.template.exceptions.TemplateDoesNotExist: index.html'

D:\Новая папка\core\home\template\index.html

базовый html-код

D:\Новая папка\core\setting.py

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

EXTERNAL_APPS = [
    'home',
]

INSTALLED_APPS += EXTERNAL_APPS

D:\Новая папка\core\views.py

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


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

def success_page(request):
    print("* "*10)
    return HttpResponse("""<h1>Page has Been created successfully</h1>
                        </br>
                        <hr>
                        <p1> Hello world</p1>""")

D:\Новая папка\core\urls.py

from django.contrib import admin
from django.urls import path
from home.views impor

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', home, name="home"),
    path('Success-page',success_page,name ="success_page")
]

испробовано множество подходов из stack overflow, но все равно та же ошибка. помогите исправить эту ошибку

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

измените шаблон каталога на templates.

Add to settings.py:

TEMPLATES = [ { ... 'DIRS': [os.path.join(BASE_DIR, 'templates')], # Добавьте эту строку ... 'APP_DIRS': True, ... }, ]

Уберите лишнюю скобку: return render(request, 'index.html')

Если home - это ваше приложение, я бы добавил в него файл urls.py и добавил в него url, чтобы все было более организованно. В корневом urls укажите url на приложение urls.

ROOT URLS:
from django.urls import path, include
path('home/', include('home.urls')),

затем внутри домашнего приложения добавьте url.py:

APP URLS:
from django.urls import path
from . import views

path('', views.home, name='home'),  


 

Надеюсь, это поможет

ok Итак, добавим в проект следующее: Views.py:

def index(request):
return render(request, 'index.html')

urls.py (in app):

from django.urls import path
from . import views

path('index/', views.index, name='index'), 

В вашем приложении создайте папку templates. В папке templates создайте файл index.html. Заполните его стандартным html-шаблоном и создайте

HelloWorld

Ваш корневой url.py должен указывать на ваше приложение.

Запустите его и посмотрим, что получится.

Можете ли вы сделать скриншот структуры папок и опубликовать его.

Вернуться на верх