1

模型

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 应用程序,旨在为您的项目添加标签。

4

0 回答 0