Всем привет! Застрял, нужна ваша помощь.
Не получается вернуть ссылки из модели в шаблон. Используя обычные функции, все получалось. Сейчас задача прокинуть через generic.ListView - никак не получается. Ошибка следующая:
NoReverseMatch at /
Reverse for 'product_list' with arguments '('saws',)' not found. 1 pattern(s) tried: ['$']
Получается что возвращается элемент кортежа?
#models
class Category(models.Model):
name = models.CharField(verbose_name='Категория', max_length=100, db_index=True)
slug = models.SlugField(max_length=100, db_index=True,
unique=True)
...
def get_absolute_url(self):
return reverse('core:product_list',
args=[self.slug])
#urls
app_name = 'core'
urlpatterns = [
path('', views.ProductView.as_view(), name='product_list'),]
views.py
class ProductView(generic.ListView):
queryset = Product.objects.filter(available=True)
categories = Category.objects.all()
def get_context_data(self, **kwargs):
context = super(ProductView, self).get_context_data(**kwargs)
...
context['categories'] = self.categories
return context
#html. inside block
{% for c in categories %}
<a href="{{ c.get_absolute_url }}">{{ c.name }}</a>
{% endfor %}