Django 2.1 URL возвращает ошибку - PullRequest
0 голосов
/ 05 июня 2018

пожалуйста, мне нужна помощь, независимо от того, сколько я пытаюсь, мой сайт продолжает возвращать ошибку 404 из-за ошибки в настройке URL-адресов

мои просмотры

 from django.shortcuts import get_object_or_404, render_to_response
from catalog.models import Category, Product
from django.template import RequestContext
from untitled13.cart import cart
from django.http import HttpResponseRedirect
from untitled13.catalog.forms import ProductAddToCartForm


def index(request, template_name='catalog/index.html'):
    page_title = 'online shop for all items'
    return render_to_response(template_name, locals(),
                              context_instance=RequestContext(request))


def show_category(request, category_slug, template_name='catalog/category.html'):
    c = get_object_or_404(Category, slug=category_slug)
    products = c.product_set.all()
    page_title = c.name
    meta_keywords = c.meta_keywords
    meta_description = c.meta_description
    return render_to_response(template_name, locals(),
                              context_instance=RequestContext(request))


def show_product(request, product_slug, template_name='catalog/product.html'):
    p = get_object_or_404(Product, slug=product_slug)
    categories = p.categories.filter(is_active=True)
    page_title = p.name
    meta_keywords = p.meta_keywords
    meta_description = p.meta_description
    if request.method == 'POST':
        postdata = request.POST.copy()
        form = ProductAddToCartForm(request, postdata)
        if form.is_valid():
            cart.add_to_cart()
            if request.session.test_cookie_worked():
                request.session.delete_test_cookie()
            url = 'show_cart'
            return HttpResponseRedirect(url)
    else:
        form = ProductAddToCartForm(request=request, label_suffix=':')
        form.fields['product_slug'].widget.attrs['value'] = product_slug
        request.session.set_test_cookie()
    return render_to_response(template_name, locals(),
                              context_instance=RequestContext(request))

мои URL

"""untitled13 URL Configuration
from django.contrib import admin
from django.urls import path, include
from django.views import static

urlpatterns = [
    path('admin/', admin.site.urls),
    path('catalog/', include('catalog.urls')),
    path('static/', static.serve),
    path('cart/', include('cart.urls')),
]

просмотр моей корзины

    from django.shortcuts import render_to_response
from django.template import RequestContext
from untitled13.cart import cart


def show_cart(request, template_name="cart/cart.html"):
    cart_item_count = cart.get_cart_items(request)
    page_title = 'Shopping Cart'
    return render_to_response(template_name, locals(),
                              context_instanc=RequestContext(request))

страница ошибки

Страница не найдена (404) Метод запроса: GET URL запроса: http://127.0.0.1:8000/site

Используя URLconf, определенный в untitled13.urls, Django попробовал эти шаблоны URL в следующем порядке:

admin/
catalog/
static/
cart/

Текущий путь, сайт, не соответствует ни одному из них.

Вы видите эту ошибку, потому что у вас есть DEBUG = True в вашем файле настроек Django.Измените это на False, и Django отобразит стандартную страницу 404.

1 Ответ

0 голосов
/ 05 июня 2018

Вам нужно добавить path('site/', views.index) к вашим URL-шаблонам, если вы хотите, чтобы / site связывался с вашим представлением индекса.Ошибка, которую он дает, действительно прямолинейна.

Вам также необходимо импортировать файл views.py, содержащий представление индекса.from your_app import views

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