# urls.py
app_name = 'market'
urlpatterns = [
url(r'^categories$', views.CategoryListView.as_view(), name='category-list'),
url(r'^categories/page-(?P<page>\d+)$', views.CategoryListView.as_view(), name='category-list'),
url(r'^categories/(?P<slug>[\w\d\-\_\/]+)$', views.CategoryDetailView.as_view(), name='category-detail'),
url(r'^categories/(?P<cat_slug>[\w\d\-\_\/]+)/(?P<slug>[\w\d\-\_\/]+)$', views.ProductDetailView.as_view(),
name='product-detail'),
]
class CategoryListView(generic.ListView):
model = models.Category
template_name = 'market/category/list.html'
def get_queryset(self):
if settings.MARKET_EXLUDE_CHILDREN_FROM_CATEGORY_CHILDREN:
return self.model.objects.filter(parent=None, published=True)
return super(CategoryListView, self).get_queryset()
class CategoryDetailView(generic.DetailView):
model = models.Category
slug_field = 'full_slug'
template_name = 'market/category/detail.html'
class ProductListView(generic.ListView):
model = models.Product
template_name = 'market/product/list.html'
class ProductDetailView(generic.DetailView):
model = models.Product
slug_field = 'categories__full_slug'
template_name = 'market/product/detail.html'
""" Это можно не читать, так как что с этим, что без этого - не работает
def get_queryset(self):
slug = str(self.kwargs.get('slug')).split('/')[-1]
products = self.model.objects.filter(
published=True,
slug=slug
).annotate(full_slug=functions.Concat('categories__full_slug', Value('/'), 'slug'))
return products
def get_object(self, queryset=None):
return True
"""
--
Вы получили это сообщение, поскольку подписаны на одну из тем в группе "Django russian".
Чтобы отменить подписку на эту тему, перейдите по ссылке https://groups.google.com/d/topic/django-russian/Zjg6-R2NnRg/unsubscribe.
Чтобы отменить подписку на эту группу и все ее темы, отправьте письмо на электронный адрес django-russian+unsubscribe@googlegroups.com.
Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout.