Проблема с django, когда я передаю идентификатор продукта методом get

В теге href я хочу отправить идентификатор продукта, но этот код выдает ошибку.

Не удалось разобрать остаток: 'data.id' из "viewproduct"data.id'

{% для данных в data %}

                    <div class="item mt-5">

                        <div class="card" >

                        **<a href={% url 'viewproduct'data.id %}>**
                         
                            <img class="women" src="{{data.image.url}} "alt="First slide">
                        </div>
                        <div class="card-body text-center">
                            <h4>{{data.name}}</h4>  

                        </div></a>
                    </div>

                
               {% endfor %}

Существует несоответствие между указанным вами URL-адресом в urls.py и тем, который используется в ваших шаблонах. Судя по вашим комментариям, URL-адрес вашего product_detail называется product_detail, но вы пытаетесь использовать обратное значение для viewproduct в своих шаблонах. Так что на самом деле это должно быть:

<a href={% url 'product_detail' data.id %}>

Поскольку мы не видели ваши просмотры, это также предполагает, что у вас есть контекстные данные в вашем views.py с идентификатором атрибута. Что-то вроде этого:

from django.shortcuts import render, get_object_or_404
from .models import Product

def product_detail(request, product_id):
    data = get_object_or_404(Product, id=product_id)
    context = {'data': data}
    return render(request, 'product_detail.html', context) 

Также обратите внимание, что вам нужно оставить пробел между URL-адресом и идентификатором. Все, что вы отправили, объединено, и Django не сможет распознать остальное.

Вам нужно добавить пробел между строковым литералом 'viewproduct' и data.id, чтобы {% url 'viewproduct' data.id %}.

Вернуться на верх