Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Category(models.Model):
- name = models.CharField(max_length=255)
- slug = models.SlugField(unique = True, default='', db_index=True)
- image = models.ImageField(upload_to='img/blog/category/detail', null=True, blank=True)
- image_header = ImageSpecField(source='image', format='JPEG', processors=[ResizeToFill(1920, 239)],
- options={'quality': 90})
- image_list = ImageSpecField(source='image', format='JPEG', processors=[ResizeToFill(1920, 239)],
- options={'quality': 90})
- class Meta:
- ordering = ('name',)
- verbose_name = 'category'
- verbose_name_plural = 'categories'
- def __str__(self):
- return self.name
- def get_absolute_url(self):
- return f'/blog/{self.slug}/'
- # TEMPLATE
- {% if searched_category.image %}
- <section class="bg-title-page p-t-40 p-b-50 flex-col-c-m" style="background-image: url('{{ searched_category.image_header.url }}');">
- {% else %}
- <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' %});">
- {% endif %}
- # VIEW
- def post_list_by_category(request, category_slug):
- template_name = 'blog/blog.html'
- post_list = Post.objects.filter(category__slug=category_slug)
- searched_category = Category.objects.get(slug=category_slug)
- categories = Category.objects.all()
- paginator = Paginator(post_list, 5)
- page = request.GET.get('page')
- try:
- post_list = paginator.page(page)
- except PageNotAnInteger:
- post_list = paginator.page(1)
- except EmptyPage:
- post_list = paginator.page(paginator.num_pages)
- context = {
- 'posts': post_list,
- 'categories': categories,
- 'searched_category': searched_category,
- }
- return render(request, template_name, context)
- â„–CONFIG
- STATIC_URL = '/static/'
- MEDIA_URL = '/media/'
- MEDIA_ROOT = 'media/'
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement