Django : GET / HTTP/1.1" 404 2029

Я начинающий Django. Получаю ошибку 404, не могу найти причину. Следовал всем инструкциям шаг за шагом. Использую Django версии 3.1.1. Пытаюсь найти решение в google, не помогает. Когда я выполняю python manage.py runserver - я получаю следующее сообщение

Watching for file changes with StatReloader
Performing system checks...

System check identified no issues (0 silenced).
November 16, 2021 - 06:17:59
Django version 3.1.1, using settings 'lecture3.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
Not Found: /
[16/Nov/2021 06:18:02] "GET / HTTP/1.1" 404 2029
Watching for file changes with StatReloader
Performing system checks...

System check identified no issues (0 silenced).
November 16, 2021 - 06:25:43
Django version 3.1.1, using settings 'lecture3.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
Not Found: /
[16/Nov/2021 06:25:46] "GET / HTTP/1.1" 404 2029

Ошибка на странице :

Page not found (404)
Request Method: GET
Request URL:    http://127.0.0.1:8000/
Using the URLconf defined in lecture3.urls, Django tried these URL patterns, in this order:

admin/
hello/
The empty path didn't match any of these.

Hello/urls.py

 from django.urls import path
    from . import views 
    urlpatterns = [
        path('', views.index, name="index")
    ]

hello/views.py

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

    # Create your views here.
    def index(request):
        return HttpResponse("Hello, world!") 

lecture3/lecture3/urls.py

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

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

http://127.0.0.1:8000/ -> 404 ошибка но

http://127.0.0.1:8000/admin works fine
http://127.0.0.1:8000/hello works fine

Помогите, пожалуйста, нужна ваша помощь

После того, как пользователь отправит запрос на URL, Django проверит нижеупомянутые соответствия.

  1. path('admin/', admin.site.urls)
  2. path('hello/', include("hello.urls"))

Если вы делаете запрос с "http://127.0.0.1:8000/admin" или "http://127.0.0.1:8000/hello", он работает, потому что Django может найти соответствие для запрашиваемого URL.

Поскольку в "lecture3/lecture3/urls.py" нет соответствия для "http://127.0.0.1:8000/", Django выбросит 404.

Я полагаю, что вы получаете ответ "Hello World" для "http://127.0.0.1:8000/hello/", это потому, что как только django встречает "http://127.0.0.1:8000/hello", он включает "hello.urls". В "hello/urls.py" вы прикрепили представление "index" к "", пустому URL. Следовательно, функция представления будет выполнена.

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