Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- urls.py:
- urlpatterns = [
- path('blog/', BlogList.as_view(), name="blog"),
- path('blog-details/<slug:slug>', BlogDetails.as_view(), name="blog-details"),
- path('blog/<str:name>', CategoryBlogs.as_view(), name="category"),
- view.py:
- class CategoryBlogs(ListView):
- model = Blogs
- template_name = 'frontend/category_post.html'
- paginate_by = 6
- context_object_name = 'blog'
- def get_queryset(self):
- return Blogs.objects.filter(category__category__iexact=self.kwargs['name'])
- def get_context_data(self, **kwargs):
- context = super().get_context_data(**kwargs)
- context['pop_blogs'] = Blogs.objects.all().order_by('-pk')[:4]
- context['SEO'] = SeoSettigs.objects.all()
- return context
- models.py
- class Category(models.Model):
- category = models.CharField(max_length=50, unique=True, null=True)
- slug = models.SlugField(max_length=500, unique=True, null=True, blank=True)
- def __str__(self):
- return self.category
- def save(self, *args, **kwargs):
- self.slug = slugify(self.category)
- super(Category, self).save(*args, **kwargs)
- class Meta:
- verbose_name_plural = "Category"
- class Blogs(models.Model):
- title = models.CharField(max_length=200, unique=True)
- published_date = models.DateTimeField(default=datetime.now())
- featured_image = models.ImageField(null=True, blank=True)
- content = RichTextUploadingField(blank=True, null=True, extra_plugins=
- ['youtube', ], external_plugin_resources=
- [('youtube', '/static/ckeditor/ckeditor/plugins/youtube/', 'plugin.js')], )
- category = models.ForeignKey(Category, null=True, default=" ", verbose_name="Category", on_delete=models.SET_NULL)
- author = models.ForeignKey(User, default="-", on_delete=models.SET_DEFAULT)
- slug = models.SlugField(max_length=500, unique=True, null=True, blank=True, help_text='This field is to simplify url in human '
- 'readable form, no action needed from admin side')
- tags = models.CharField(max_length=500, null=True,
- help_text='Enter Tags comma separated eg:(Adventure, Technology).')
- def __str__(self):
- return self.title
- def save(self, *args, **kwargs):
- self.slug = slugify(self.title)
- super(Blogs, self).save(*args, **kwargs)
- # new_image = featured_image_compress(self.featured_image)
- # self.featured_image = new_image
- # super().save(*args, **kwargs)
- def get_absolute_url(self):
- return reverse('blog-details', kwargs={'slug': self.slug})
- class Meta:
- verbose_name_plural = "Blogs"
- ordering = ["-published_date"]
Advertisement
Add Comment
Please, Sign In to add comment