Ошибка Django NoReverseMatch: как создать URL-адреса для каждой моделиPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Ошибка Django NoReverseMatch: как создать URL-адреса для каждой модели

Сообщение Anonymous »

Я столкнулся с ошибкой NoReverseMatch в своем приложении Django при попытке создать URL-адреса для страниц с подробными сведениями о продукте. Сообщение об ошибке указывает, что шаблон URL-адреса «подробности о продукте» с предоставленным кодом и пулеметом не найден. Вот подробности моей настройки:

NoReverseMatch в /earrings

Обратный вариант для 'product-detail' с аргументами '(' ', '')' не найдено. Опробовано 1 шаблон(ы): ['product/(?P[0-9]+)/(?P[-a-zA-Z0-9_]+)/\Z']

Модель:

Код: Выделить всё

class Product(models.Model):
name = models.CharField(max_length=400)
price = models.IntegerField(default=0)
description = RichTextField(null=True, blank=True)
slug = models.SlugField(unique=True, null=True, blank=True, max_length=400)
create_at = models.DateTimeField(null=True, blank=True)
id = models.AutoField(primary_key=True)

def get_absolute_url(self):
return reverse('product-detail', kwargs={'pk': self.pk, 'slug': self.slug})

def __str__(self):
return f'{self.name}'
Просмотр:

Код: Выделить всё

class ProductDetailView(DetailView):
model = Product
template_name = 'tehApp/product_detail.html'
context_object_name = 'product'

def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['Products'] = Product.objects.all()
return context

def get_object(self):
return get_object_or_404(Product, pk=self.kwargs['pk'], slug=self.kwargs['slug'])

class EarringsPageView(TemplateView):
model = Product
template_name = 'tehApp/earrings.html'
context_object_name = 'products'

def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['Products'] = Product.objects.all()
return context
URL:

Код: Выделить всё

urlpatterns = [
path('product///', ProductDetailView.as_view(), name='product-detail'),
]
Шаблон:

Код: Выделить всё

{% for product in products %}



{% with images=product.images.all %}
{% if images|length > 0 %}
[url={% url ]
[img]{{ images.0.image.url }}[/img]
[/url]
{% endif %}
{% if images|length > 1 %}
[img]{{ images.1.image.url }}[/img]
{% endif %}
{% endwith %}
[url={% url ][/url]
Add to Cart

[url={% url ]{{ product.name }}[/url]
${{ product.price }}


{% endfor %}
При необходимости задайте дополнительные вопросы.
Будем очень признательны за любую помощь или идеи!
Что я пробовал Strong>:

Я попробовал создать URL-адреса для страниц с подробными сведениями о продукте в своем приложении Django, используя тег шаблона {% url 'product-detail' product.pk product.slug %}. Это должно создать URL-адрес на основе pk (первичного ключа) и фрагмента каждого экземпляра продукта.
Что я ожидал:


Я ожидал, что URL-адреса будут сгенерированы правильно и будут ссылаться на страницы с подробными сведениями о каждом продукте, где в шаблоне URL-адресов будут подставлены Product.pk и Product.slug.
Что на самом деле результат:

Вместо создания действительных URL-адресов я обнаружил ошибку NoReverseMatch с сообщением:

NoReverseMatch at / серьги

Обратное значение для 'product-detail' с аргументами '('', '')' не найдено. Опробовано 1 шаблон(ы): ['product/(?P[0-9]+)/(?P[-a-zA-Z0-9_]+)/\Z']

Эта ошибка указывает на то, что шаблон URL-адреса для сведений о продукте не может быть сопоставлен, поскольку он получил пустые значения для pk и slug. Шаблон URL-адреса предполагает непустые значения pk и slug.

Подробнее здесь: https://stackoverflow.com/questions/788 ... each-model
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Ошибка Django NoReverseMatch: как создать URL-адреса для каждой модели
    Anonymous » » в форуме Python
    0 Ответы
    29 Просмотры
    Последнее сообщение Anonymous
  • URL -адрес noreversematch с использованием django
    Anonymous » » в форуме Python
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • URL -адрес noreversematch с использованием django
    Anonymous » » в форуме Python
    0 Ответы
    31 Просмотры
    Последнее сообщение Anonymous
  • Я получаю ошибку noreversematch при посещении другого URL - Django [дубликат]
    Anonymous » » в форуме Python
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Неоднозначное поведение контекстной переменной django при создании URL-адреса в шаблоне с использованием тега URL-адреса
    Anonymous » » в форуме Python
    0 Ответы
    63 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»