Реверс для 'edit-item' с ключевыми аргументами '{'slug': ''}'' не найден. Попытка 1 шаблона(ов): ['dashboard/edit\\\-item/(?P<slug>[^/]+)/$'].
Помогите, пожалуйста, разобраться в проблеме. Ранее функции редактирования и удаления элемента работали. Но сейчас он показывает мне ошибки, и я не могу найти причину, почему эта ошибка произошла внезапно. Не могли бы вы, ребята, помочь мне. Я буду вам очень признателен.
html
{% for object in furniture %}
<tr class="clickable-tr" href="{{ object.get_absolute_url }}">
<td>{{ object.furnitureId }}</td>
<td>{{ object.furnitureName }}</td>
<td>{{ object.categoryId.categoryName }}</td>
<td class="text-center">{{ object.stock }}</td>
<td class="text-center">
<a href="{{ object.slug }}">
<i class='material-icons' style="color: brown;">delete</i>
</a>
</td>
</tr>
{% endfor %}
models.py
class Furniture(models.Model):
furnitureId = models.CharField(primary_key=True, max_length=50)
furnitureName = models.CharField(max_length=50)
unitPrice = models.DecimalField(max_digits=8, decimal_places=2)
categoryId = models.ForeignKey(Category, on_delete=models.CASCADE)
slug = models.SlugField(max_length=100)
def get_absolute_url(self):
return reverse("administration:edit-item", kwargs={
'slug': self.slug
})
def delete_item_url(self):
return reverse("administration:delete-item", kwargs={
'slug': self.slug
})
urls.py
app_name = 'administration'
urlpatterns = [
path('products/',views.prodManagement,name='dashboard'),
path('add-item/',views.addProduct,name='add-item'),
path('edit-item/<slug>/',views.editProduct, name='edit-item'),
path('delete-item/<slug>/',views.deleteItem, name='delete-item'),
]
views.py
def prodManagement(request):
context = {
'furniture':Furniture.objects.all(),
'category':Category.objects.all()
}
return render(request, 'admin/prod_management.html', context)
def editProduct(request, fid):
item = get_object_or_404(Furniture, slug=fid)
category = Category.objects.all()
context = {
'object':item,
'category':category
}
return render(request, 'admin/item.html', context)
def deleteItem(request, slug):
print('here')
item = get_object_or_404(Furniture, slug=slug)
item.delete()
messages.success(request, 'Item is deleted.')
return redirect('administration:dashboard')