Django перенаправление на другую страницу не работает - PullRequest
0 голосов
/ 28 февраля 2020

Итак, я пытаюсь создать интернет-магазин, используя Django и HTML. Короче говоря, моя проблема в том, что когда я нажимаю кнопку «Продукты» на панели навигации, это дает мне ошибку 404. Это ошибка, которую он мне дает.

Это также дает мне ошибки в терминале Ошибка в терминале.

Я пытался выяснить, что случилось за прошедший час, но, похоже, ничего не работает. Вот мой код;

(файл product. html находится в папке с именем "templates")

Мой файл views.py

from django.shortcuts import render
from django.views.generic import ListView, DetailView
from .models import Item # Skriptist models.py impordib eseme (Item'i) #


def product(request):
    context = {
        "items": Item.objects.all()
    }
    return render(request, "product.html", context)

def checkout(request):
    return render(request, "checkout.html")



class HomeView(ListView):
    model = Item
    template_name = "home.html"


class ItemDetailView(DetailView):
    model = Item
    template_name = "product.html"

Мои URL .py файл

from django.urls import path
from django.conf.urls import include, url
from .views import (
    ItemDetailView,
    checkout,
    HomeView
)
# Skriptist views.py improdib "item_list'i" #

app_name = "core"

urlpatterns = [
    path('', HomeView.as_view(), name='home'),
    path('checkout/', checkout, name='checkout'),
    path('product/<slug>/', ItemDetailView.as_view(), name='product'),
]

И, наконец, это мои сценарии. html файл, в котором есть все javascript.

{% load static %}

<script type="text/javascript" src="{% static 'js/jquery-3.3.1.min.js' %}"></script>
<!-- Bootstrap tooltips -->
<script type="text/javascript" src="{% static 'js/popper.min.js' %}"></script>
<!-- Bootstrap core JavaScript -->
<script type="text/javascript" src="{% static 'js/bootstrap.min.js' %}"></script>
<!-- MDB core JavaScript -->
<script type="text/javascript" src="{% static 'js/mdb.min.js' %}"></script>
<!-- Initializations -->
<script type="text/javascript">
  // Animations initialization
  new WOW().init();

</script>

Кто-нибудь знает, как это исправить?

Заранее спасибо, Нимету.

1 Ответ

0 голосов
/ 28 февраля 2020

Ошибка, которую вы получаете, заключается в том, что URL-адрес, к которому вы обращаетесь, не соответствует ни одному из шаблонов в вашем urls.py. Вы получаете доступ к http://127.0.0.1: 8000 / product , что недопустимо, поскольку у вашего паттерна есть конечный sla sh, а затем слизень, хотя определение также неверно для этого.

Ваши шаблоны URL должны быть

urlpatterns = [
    path('', HomeView.as_view(), name='home'),
    path('checkout/', checkout, name='checkout'),
    path('product/<slug:slug>/', ItemDetailView.as_view(), name='product'),
]

. Затем вы можете получить доступ к таким URL-адресам, как:

Если вы хотите, чтобы http://127.0.0.1: 8000 / product работал, то вы необходимо добавить новую запись и решить, что она должна отображать, например, ListView

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