Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # -*- coding: utf-8 -*-
- from django.shortcuts import get_object_or_404
- from django.views.generic.detail import DetailView
- from django.views.generic.list import ListView
- from catalog.models import CatalogFolder, CatalogItem
- def get_main_folder():
- """
- Возвращает раздел, который будет отображаться по ссылке "Продукция" на главной странице
- """
- return CatalogFolder.objects.filter(display = True).order_by('id')[0]
- class ItemListView(ListView):
- """
- Представление для раздела каталога
- """
- context_object_name = "item_list"
- template_name = "catalog/item_list.html"
- def get_queryset(self):
- if 'pk' not in self.kwargs:
- return CatalogItem.objects.filter(parent=get_main_folder().id)
- else:
- self.parent = get_object_or_404(CatalogFolder, pk=self.kwargs['pk'])
- return CatalogItem.objects.filter(parent=self.parent)
- def get_context_data(self, **kwargs):
- context = super(ItemListView, self).get_context_data(**kwargs)
- if 'pk' not in self.kwargs:
- context['current_folder'] = get_object_or_404(CatalogFolder, pk=get_main_folder().id)
- else:
- context['current_folder'] = get_object_or_404(CatalogFolder, pk=self.kwargs['pk'])
- return context
- class ItemDetailView(DetailView):
- """
- Представление для наименования каталога
- """
- context_object_name = "item_detail"
- template_name = "catalog/item_detail.html"
- def get_queryset(self):
- return CatalogItem.objects.all()
Add Comment
Please, Sign In to add comment