Advertisement
Guest User

Untitled

a guest
Jun 18th, 2020
22
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.93 KB | None | 0 0
  1. class Category(models.Model):
  2. name = models.CharField(max_length=255)
  3. slug = models.SlugField(unique = True, default='', db_index=True)
  4. image = models.ImageField(upload_to='img/blog/category/detail', null=True, blank=True)
  5. image_header = ImageSpecField(source='image', format='JPEG', processors=[ResizeToFill(1920, 239)],
  6. options={'quality': 90})
  7. image_list = ImageSpecField(source='image', format='JPEG', processors=[ResizeToFill(1920, 239)],
  8. options={'quality': 90})
  9.  
  10. class Meta:
  11. ordering = ('name',)
  12. verbose_name = 'category'
  13. verbose_name_plural = 'categories'
  14.  
  15. def __str__(self):
  16. return self.name
  17.  
  18. def get_absolute_url(self):
  19. return f'/blog/{self.slug}/'
  20.  
  21. # TEMPLATE
  22.  
  23. {% if searched_category.image %}
  24. <section class="bg-title-page p-t-40 p-b-50 flex-col-c-m" style="background-image: url('{{ searched_category.image_header.url }}');">
  25. {% else %}
  26. <section class="bg-title-page p-t-40 p-b-50 flex-col-c-m" style="background-image: url({% static 'images/heading-pages-05.jpg' %});">
  27. {% endif %}
  28.  
  29. # VIEW
  30. def post_list_by_category(request, category_slug):
  31. template_name = 'blog/blog.html'
  32. post_list = Post.objects.filter(category__slug=category_slug)
  33. searched_category = Category.objects.get(slug=category_slug)
  34. categories = Category.objects.all()
  35.  
  36. paginator = Paginator(post_list, 5)
  37. page = request.GET.get('page')
  38.  
  39. try:
  40. post_list = paginator.page(page)
  41. except PageNotAnInteger:
  42. post_list = paginator.page(1)
  43. except EmptyPage:
  44. post_list = paginator.page(paginator.num_pages)
  45.  
  46. context = {
  47. 'posts': post_list,
  48. 'categories': categories,
  49. 'searched_category': searched_category,
  50. }
  51.  
  52. return render(request, template_name, context)
  53.  
  54. â„–CONFIG
  55. STATIC_URL = '/static/'
  56.  
  57. MEDIA_URL = '/media/'
  58. MEDIA_ROOT = 'media/'
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement