Невозможно отобразить список имен тегов django-taggit
В настоящее время я изучаю Django и создаю свой первый блог на Django 4.0.x, но при использовании django-taggit
возникает ошибка.Проблема в том, что когда я отображаю теги в html, они не отображаются, я пытался посмотреть пример, но мне довольно трудно следовать методу, потому что у меня есть slug в моем MangaDetailView.
Вот мой код:
модели
class Manga_Info(models.Model):
class Newmanager(models.Manager):
def get_queryset(self):
return super().get_queryset(). filter(status='published')
options = (
('draft', 'Draft'),
('published', 'Published'),
)
title = models.CharField(max_length=350)
about = models.TextField(max_length=500)
type = models.ForeignKey(Type, on_delete=models.PROTECT, default=0, blank=False, null=False)
genre = TaggableManager()
upload = models.DateTimeField(auto_now_add=True)
released = models.DateTimeField(max_length=100)
menu_image = ProcessedImageField(upload_to= user_directory_path, processors=[ResizeToFill(175, 238)], default = 'images/blog-post-01.jpeg', format='jpeg', options={'quality': 100})
info_image = ProcessedImageField(upload_to= user_directory_path, processors=[ResizeToFill(175, 579)], default = 'images/blog-post-01.jpeg', format='jpeg', options={'quality': 100})
slug = models.SlugField(max_length=100, unique_for_date='upload', unique=True)
status = models.CharField(max_length=15, choices=options, default='draft')
objects = models.Manager() # default manager
newmanager = Newmanager() # custom manager
class Meta:
ordering = ("upload",)
def __str__(self):
return self.title
просмотров
def MangaDetailView(request,_id):
try:
dataset = Manga_Info.objects.all()
type = Type.objects.exclude(name='default')
data = Manga_Info.newmanager.get(slug =_id)
except Manga_Info.DoesNotExist:
raise Http404("Data does not exist")
context = {
'data':data,
'dataset': dataset,
'type': type,
'tag':tag,
}
return render(request, 'base/home_info.html', context)
def tagged(request, slug):
tag = get_object_or_404(Tag, slug=slug)
posts = Manga_Info.objects.filter(tags=tag)
context = {
'tag':tag,
'posts':posts,
}
return render(request, 'base/home_info.html', context)
html
<div class="u-container-style u-expanded-width-xs u-group u-shape-rectangle u-group-2">
<div class="u-container-layout u-container-layout-2">
<h4 class="u-text u-text-6">Genre :</h4>
<div class="u-list u-list-1">
{% for tag in dataset.tags.all %}
<div class="u-repeater u-repeater-1">
<div class="u-align-left u-container-style u-list-item u-repeater-item">
<div class="u-container-layout u-similar-container u-container-layout-3">
<a href="https://nicepage.com/c/counter-html-templates" class="u-active-grey-50 u-border-none u-btn u-btn-round u-button-style u-custom-font u-font-raleway u-grey-75 u-hover-grey-50 u-radius-5 u-btn-2">{{ tag.name }}</a>
</div>
</div>
</div>
{% endfor %}
</div>
</div>
</div>
Так вот, я просто хочу отобразить жанр моего блога, и еще вопрос, можно ли отобразить только название тегов, а урлы разные? Или создать новую функцию views?