vin_paste

Untitled

Jan 9th, 2021
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.76 KB | None | 0 0
  1. urls.py:
  2.  
  3. urlpatterns = [
  4.     path('blog/', BlogList.as_view(), name="blog"),
  5.     path('blog-details/<slug:slug>', BlogDetails.as_view(), name="blog-details"),
  6.     path('blog/<str:name>', CategoryBlogs.as_view(), name="category"),
  7.  
  8.  
  9.  
  10. view.py:
  11.  
  12. class CategoryBlogs(ListView):
  13.     model = Blogs
  14.     template_name = 'frontend/category_post.html'
  15.     paginate_by = 6
  16.     context_object_name = 'blog'
  17.  
  18.     def get_queryset(self):
  19.         return Blogs.objects.filter(category__category__iexact=self.kwargs['name'])
  20.  
  21.     def get_context_data(self, **kwargs):
  22.         context = super().get_context_data(**kwargs)
  23.         context['pop_blogs'] = Blogs.objects.all().order_by('-pk')[:4]
  24.         context['SEO'] = SeoSettigs.objects.all()
  25.         return context
  26.  
  27. models.py
  28.  
  29. class Category(models.Model):
  30.     category = models.CharField(max_length=50, unique=True, null=True)
  31.     slug = models.SlugField(max_length=500, unique=True, null=True, blank=True)
  32.  
  33.     def __str__(self):
  34.         return self.category
  35.  
  36.     def save(self, *args, **kwargs):
  37.         self.slug = slugify(self.category)
  38.         super(Category, self).save(*args, **kwargs)
  39.  
  40.     class Meta:
  41.         verbose_name_plural = "Category"
  42.  
  43.  
  44. class Blogs(models.Model):
  45.  
  46.     title = models.CharField(max_length=200, unique=True)
  47.     published_date = models.DateTimeField(default=datetime.now())
  48.     featured_image = models.ImageField(null=True, blank=True)
  49.     content = RichTextUploadingField(blank=True, null=True, extra_plugins=
  50.     ['youtube', ], external_plugin_resources=
  51.                           [('youtube', '/static/ckeditor/ckeditor/plugins/youtube/', 'plugin.js')], )
  52.     category = models.ForeignKey(Category, null=True, default=" ", verbose_name="Category", on_delete=models.SET_NULL)
  53.     author = models.ForeignKey(User, default="-", on_delete=models.SET_DEFAULT)
  54.     slug = models.SlugField(max_length=500, unique=True, null=True, blank=True, help_text='This field is to simplify url in human '
  55.                                                                           'readable form, no action needed from admin side')
  56.     tags = models.CharField(max_length=500, null=True,
  57.                             help_text='Enter Tags comma separated eg:(Adventure, Technology).')
  58.  
  59.  
  60.     def __str__(self):
  61.         return self.title
  62.  
  63.     def save(self, *args, **kwargs):
  64.         self.slug = slugify(self.title)
  65.         super(Blogs, self).save(*args, **kwargs)
  66.  
  67.         # new_image = featured_image_compress(self.featured_image)
  68.         # self.featured_image = new_image
  69.         # super().save(*args, **kwargs)
  70.  
  71.     def get_absolute_url(self):
  72.         return reverse('blog-details', kwargs={'slug': self.slug})
  73.  
  74.  
  75.     class Meta:
  76.         verbose_name_plural = "Blogs"
  77.         ordering = ["-published_date"]
Advertisement
Add Comment
Please, Sign In to add comment