Вивод тегов в шаблон, Django, Django-taggit
я изучаю django пишу простой блог, и наткнулся на интересное приложение django-taggit, ознакомился с документацией но проблема появилась, нужно отобразить все теги(они привязаны к постам) которие есть в бд, без повторений в шаблон, можете подсказать как именно отобразить в шаблоне все теги?
models.py
class Post(models.Model):
title = models.CharField(max_length=100)
content = models.TextField()
image = models.ImageField(upload_to='images/', null=True, blank=True)
date_posted = models.DateTimeField(default=timezone.now)
author = models.ForeignKey(User, on_delete=models.CASCADE)
tags = TaggableManager()
def __str__(self):
return self.title
def get_absolute_url(self):
return reverse('post-detail', kwargs={'pk': self.pk})
view.py
def base(request):
context ={
'tags':Tag.objects.all(),
}
return render(request,'blog/base.html',context)
template.html
<p>Tags list:
{% for tag in tags %}
<!-- display tags -->
{% endfor %}
</p>
Ответы (3 шт):
Tags list:
{% for tag in tags %}
{{tag}} # выводишь полученные теги
{% endfor %}
Еще в класс Post добавь
slug = models.SlugField(max_length=100, unique='title', verbose_name='url')
таким образом можно сделать дружелюбные к поисковикам ссылки
Убери функцию во вьюхе.
Tags: {{ post.tags.all|join:", " }}
post.tags.all добавляет все теги данного поста, а join разделяет их, в нашем случае запятой.
Читайте тут
Может быть у кого-то такая же проблема, я нашел способ ее решить, я просто не заметил или забыл о urls.py я прописал код для view на другой маршрут по юрл.Если в кого такая проблема пишите, подскажу более точнее