Django «Страница не найдена» ошибка при настройке URL - PullRequest
0 голосов
/ 04 ноября 2019

Я следую этому уроку: https://www.youtube.com/watch?v=Z4D3M-NSN58

В этот момент я получаю ошибку 404: https://www.youtube.com/watch?v=Z4D3M-NSN58&t=1044s

Что я сделал до сих пор:

Создание нового проекта,

Создание virtualenv,

Настройка views.py,

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

# Create your views here.

def index(response):
    return HttpResponse("<h3>MySite</h3>")

Создание urls.py внутри моего главная папка,

from django.urls import path

from . import views

urlpatterns = [
path("", views.index, name="index"),
]

Изменен urls.py внутри проекта папка

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

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

При подключении к http://127.0.0.1:8000/ я получаю ошибку 404.

Page not found (404)
Request Method:     GET
Request URL:    http://127.0.0.1:8000/

Using the URLconf defined in project.urls, Django tried these URL patterns, in this order:

    admin/
    home/

The empty path didn't match any of these.

Я не могу продолжить.

Решение:

urls.py внутри папки проекта имеет два пути, один для администратора / и один для дома / .

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

Попытка подключения к http://127.0.0.1:8000/home или http://127.0.0.1:8000/admin работает, но оставить пустой путь - нет.

Это потому, что если вы набираете / home /, он идет внутри main / urls.py и ищет путь / home / ,Путь есть, и он показывает, что находится внутри views.py. Чтобы отобразить желаемый результат без ввода пути в конце URL-адреса, мне пришлось изменить путь / home / на «пустой» путь внутри проекта / URL-адресов. .py

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

Теперь, если путь не введен: http://127.0.0.1:8000/ Он пойдет и заглянет внутрь main / urls.py для пустого пути. Он обнаружит, что пустой путь ведет к project / views.index , и именно это он отображает.

1 Ответ

0 голосов
/ 04 ноября 2019

Добавьте в свой urls.py

urlpatterns = [путь ("", views.index, name = "index"),]

и напишитеПросмотр для отображения сообщения.

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