Ошибка несогласованного URL в Django из учебника YT для начинающих
Как видно на первом снимке экрана, /products/new не отображается как действительный URL, хотя я в точности следовал руководству по кодированию с YouTube. По какой-то причине перед «new» стоит пустой символ, но в текущем пути, который я пытаюсь запросить, нет пустого места. Я не знаю, нормально это или нет. Я использую django версии 2.1, если это имеет значение
URL действительно работает для products/salt/. Что странно, URL раньше был products/trending/, но я получал ту же ошибку, поэтому я случайно изменил URL на salt, и он начал работать для меня.
[Страница не найдена (404) Метод запроса: GET URL запроса: http://127.0.0.1:8000/products/new/ Используя URLconf, определенный в pyshop.urls, Django попробовал эти шаблоны URL, в таком порядке:
admin/ продукты/ продукты/ соль продукты/новые Текущий путь, products/new/, не соответствует ни одному из этих путей.]1
from django.http import HttpResponse
from django.shortcuts import render
def index(request):
return HttpResponse('Hello World')
def trending(request):
return HttpResponse('Trending Products')
def new(request):
return HttpResponse('New Products')[2]
from django.urls import path
from . import views
urlpatterns = [
path('', views.index),
path('salt', views.trending),
path('new', views.new)[3]
Добавьте в URL-шаблоны концевой слэш /
, чтобы решить эту проблему, т.е. new/
и trending/
.
Также, как уже упоминалось в моем комментарии, я бы посоветовал вам перейти на безопасную версию Django, чтобы получить доступ к новым функциям.