Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- urls.py:
- urlpatterns = [
- path('sports/', SportsList.as_view(), name='sports'),
- path('sports_details/<slug:slug>', SportsDetails.as_view(), name='sports_details'),
- path('sports/?p<str:name>', SportsCategory.as_view(), name="categories"),
- ]
- views.py:
- class SportsDetails(DetailView):
- model = Sports
- template_name = 'frontend/sport_detail.html'
- context_object_name = 's_details'
- def get_context_data(self, **kwargs):
- context = super().get_context_data(**kwargs)
- context['SEO'] = SeoSettigs.objects.all()
- context['s_cat'] = models_data.sports_category_counts()
- return context
- class SportsCategory(ListView):
- model = Sports
- template_name = 'frontend/sports_category.html'
- paginate_by = 5
- context_object_name = 'sport'
- def get_queryset(self):
- return Sports.objects.filter(category__category=self.kwargs['name'])
- def get_context_data(self, **kwargs):
- context = super().get_context_data(**kwargs)
- # context['pop_blogs'] = Sports.objects.all().order_by('-pk')[:4]
- context['SEO'] = SeoSettigs.objects.all()
- context['category_name'] = self.kwargs['name']
- context['s_cat'] = models_data.sports_category_counts()
- return context
- models.py:
- class SportsCategory(models.Model):
- category = models.CharField(max_length=50, unique=True)
- def __str__(self):
- return self.category
- class Meta:
- verbose_name_plural = "Category"
- class Sports(models.Model):
- title = models.CharField(max_length=200, unique=True)
- 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(SportsCategory, default=" ", null=True, blank=True,
- verbose_name="Category", on_delete=models.SET_NULL)
- # test_date = models.DateField(auto_now_add=False, auto_now=False, blank=True, null=True)
- from_date = models.DateField(auto_now_add=False, auto_now=False, blank=True, null=True)
- to_date = models.DateField(auto_now_add=False, auto_now=False, blank=True, null=True)
- 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')
- def __str__(self):
- return self.title
- def save(self, *args, **kwargs):
- self.slug = slugify(self.title)
- super(Sports, self).save(*args, **kwargs)
- def get_absolute_url(self):
- return reverse('sports_details', kwargs={'slug': self.slug})
- class Meta:
- verbose_name_plural = "Sports"
- ordering = ["-from_date"]
- html code:
- <aside class="single_sidebar_widget post_category_widget">
- <h4 class="widget_title">Catgories</h4>
- <ul class="list cat-list">
- {% for category in s_cat %}
- {% if category.1 != 0 %}
- <li>
- <a href="{% url 'categories' category.0 %}" class="d-flex justify-content-between">
- <p>{{ category.0 }}</p>
- <p>{{ category.1|category_count }}</p>
- </a>
- </li>
- {% endif %}
- {% endfor %}
- </ul>
- <div class="br"></div>
- </aside>
Advertisement
Add Comment
Please, Sign In to add comment