模型
class Bb(models.Model):
image = models.ImageField(upload_to=get_timestamp_path, verbose_name='Pic')
author = models.ForeignKey(AdvUser, on_delete=models.CASCADE, verbose_name='Author')
created_at = models.DateTimeField(auto_now_add=True, db_index=True, verbose_name='Date')
tags = TaggableManager()
def delete(self, *args, **kwargs):
for ai in self.additionalimage_set.all():
ai.delete()
super().delete(*args, **kwargs)
class Meta:
verbose_name_plural = 'Posts'
verbose_name = 'Post'
ordering = ['-created_at']
看法
def index(request):
query = request.GET.get('q')
if query:
query = request.GET.get('q') #.split(" ")
posts = Bb.objects.filter(
#tags__name__in=query
# this is an invalid request logic:
tags__name__iexact=request.GET.get('q')
).distinct()
else:
posts = Bb.objects.all()
paginator = Paginator(posts, 1)
page_number = request.GET.get('page')
posts = paginator.get_page(page_number)
return render(request, 'main/home.html', {'query': query, 'posts': posts})
有必要显示所有包含某些标签的帖子。我正在尝试实现基于标签的站点搜索,例如在 pornhub 或 rule34 上。我希望得到模拟结果: 结果
django-taggit 是一个可重用的 Django 应用程序,旨在为您的项目添加标签。