Я следую этому уроку: 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 , и именно это он отображает.