Внутренняя ошибка сервера на 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 должен указывать на ваше приложение.
Запустите его и посмотрим, что получится.
Можете ли вы сделать скриншот структуры папок и опубликовать его.