У меня есть категория видео в категориях, я хочу отфильтровать значение категории видео на странице подробностей, например, если я нажму на значение категории видео, тогда я хочу этот код {% video object.video as my_video %}{% video my_video 'medium' %}{% endvideo %}
на странице подробностей. если я щелкну значения других категорий, то я хочу {% else %}
часть, как я могу это сделать?
model.py
class Categoryies(models.Model):
name = models.CharField(max_length=100)
class Article(models.Model):
title = models.CharField(max_length=100)
author = models.ForeignKey(
User, on_delete=models.CASCADE)
thumbnail = models.ImageField(default='def.jpg',
upload_to=article_path)
video = EmbedVideoField(blank=True, null=True)
timestamp = models.DateTimeField(auto_now_add=True)
content = RichTextUploadingField(blank=True)
category = models.ManyToManyField(Categoryies)
def get_absolute_url(self):
return reverse('news-detail', kwargs={'pk': self.pk})
views.py
def NewsDetail(request, pk):
vid = Article.objects.filter(category__exact='5')
videos = get_object_or_404(vid, pk=pk)
obj = get_object_or_404(Article, pk=pk)
context = {
'videos': videos,
'object': obj,
}
return render(request, 'news/detail.html', context)
деталь. html
{% if videos %}
{% video object.video as my_video %}
{% video my_video 'medium' %}
{% endvideo %}
{% else %}
<figure class="social-icon">
<img src="{{ object.thumbnail.url }}" />
</figure>
<h2>{{ object.title }}</h2>
<ul>
{{ object.author.username }}
{{ object.timestamp }}
{% for cat in object.category.all %}
{{ cat }}
{% endfor %}
</ul>
{{ object.content|safe }}
{% endif %}