Просмотр отдельных сведений о продукте
Я делаю CRUD продуктов и одна из моих задач - иметь страницу, которая бы отображала детали продукта при нажатии на нее.
Я просмотрел различные сайты о том, как сделать страницу подробной информации о продукте, в том числе из stackoverflow, но без успеха. Я также получаю следующую ошибку, несмотря на то, что имена функций написаны правильно
это несмотря на то, что в urls.py ниже написано имя 'productdetails'
urlpatterns=[
path('',views.showAdminPage,name="showadmin"),
path('products/<int:id>/',views.productdetails, name='productdetails'),
path('show/',views.show,name="show"),
path('insert/',views.insert,name="insert"),
path('update/<int:id>/',views.update,name="update"),
path('delete/<int:id>/',views.delete,name="delete"),
path('shoppingpage/',views.shoppingpage,name="shoppingpage"),
path('allproducts/',views.allproducts,name="allproducts"),
path('9-6wear/',views.ninesixwear,name="ninesixwear"),
path('kurta/',views.kurta,name="kurta"),
path('skirtset/',views.skirtset,name="skirtset"),
path('dress/',views.dress,name="dress"),
path('kurtaset/',views.kurtaset,name="kurtaset"),
path('desiswag/',views.desiswag,name="desiswag"),
path('sharara/',views.sharara,name="sharara"),
path('plazzo/',views.plazzo,name="plazzo"),
path('dhoti/',views.dhoti,name="dhoti"),
path('anarkali/',views.anarkali,name="anarkali"),
path('fusionwear/',views.fusionwear,name="fusionwear"),
path('drapesaree/',views.drapesaree,name="drapesaree"),
path('jumpsuits/',views.jumpsuits,name="jumpsuits"),
path('croptopwithskirt/',views.croptopwithskirt,name="croptopwithskirt"),
path('indowestern/',views.indowestern,name="indowestern"),
path('lehenga/',views.lehenga,name="lehenga"),
path('heavysuitset/',views.heavysuitset,name="heavysuitset"),
path('gown/',views.gown,name="gown"),
path('bridalwear/',views.bridalwear,name="bridalwear"),
]
функцияproductdetails в views.py
def productdetails(request,id):
product = Products.objects.get(id=id);
context = {'data':product}
return render(request,'polls/productdetails.html')
модель
class Products(models.Model):
categories = models.ForeignKey(Categories,on_delete=models.CASCADE)
sub_categories = models.ForeignKey(SUBCategories,on_delete=models.CASCADE)
color = models.ForeignKey(Colors,on_delete=models.CASCADE)
size = models.ForeignKey(Size,on_delete=models.CASCADE)
image = models.ImageField(upload_to = 'media/',width_field=None,height_field=None,null=True)
title = models.CharField(max_length=70)
price = models.CharField(max_length=10)
sku_number = models.CharField(max_length=10)
product_details = models.CharField(max_length=1000)
quantity = models.IntegerField(default=0)
isactive = models.BooleanField(default=True)
ниже представлена страница productdetails.html
<table>
{% for result in data %}
<tbody>
<tr>
<td>{{result.id}}</td>
<td>{{result.title}}</td>
<td>{{result.price}}</td>
<td>{{result.sku_number}}</td>
<td>{{result.product_details}}</td>
<td>{{result.size}}</td>
<td>{{result.quantity}}</td>
</tr>
</tbody>
</table>
kurta.html, где возникает вышеуказанная ошибка
<ul class="row products columns-3" id="appendproducts">
{% for result in data %}
<li class="product-item wow fadeInUp product-item rows-space-30 col-bg-4 col-xl-4 col-lg-6 col-md-6 col-sm-6 col-ts-6 style-01 post-24 product type-product status-publish has-post-thumbnail product_cat-chair product_cat-table product_cat-new-arrivals product_tag-light product_tag-hat product_tag-sock first instock featured shipping-taxable purchasable product-type-variable has-default-attributes" data-wow-duration="1s" data-wow-delay="0ms" data-wow="fadeInUp">
<div class="product-inner tooltip-left">
<div class="product-thumb">
<a href="{% url 'productdetails' result.id %}" class="thumb-link">
{% if result.sub_categories == 'Kurta' %}
<img class="img-responsive" src="{{result.image}}" alt="MINI SKIRT" width="300" height="300">
{% endif %}
</a>
</div>
<div class="product-info equal-elem">
<h3 class="product-name product_title">
{% if result.sub_categories == 'Kurta' %}
<a href="{% url 'productdetails' result.id %}">{{result.title}}</a>
{% endif %}
</h3>
<span class="price">
<span class="lynessa-Price-amount amount">
<ins>
{% if result.sub_categories == 'Kurta' %}
<span class="lynessa-Price-currencySymbol">₹</span>
<span class="lynessa-Price-amount amount discount-amount InrToUsdDiscountPrice65">
{{result.price}}
</span>
{% endif %}
</ins>
</span>
</span>
</div>
</div>
</li>
{% endfor %}
</ul>
может ли кто-нибудь указать, где я ошибаюсь? Спасибо!
Может быть:
- views.py
def productdetails(request,id):
product = Products.objects.get(id=id)
fields = product._meta.fields
context = {
'data': [
{'prop': f.name, 'label': f.verbose_name, 'value': getattr(product, f.name)}
for f in fields
]
}
return render(request,'polls/productdetails.html')
- productdetails.html
<table>
<thead>
<tr>
{% for item in data %}
<th>{{ item.label }}</th>
{% endfor %}
</tr>
</thead>
<tbody>
<tr>
{% for item in data %}
<td>{{ item.value }}</td>
{% endfor %}
</tr>
</tbody>
</table>