html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <h1>筛选</h1> <h3>方向</h3> {% for direction in direction_list %} <a href="/sousuo-{{ direction.id }}-{{ kwargs.classification_id }}-{{ kwargs.level_id}}">{{ direction.name }}</a> {% endfor %} <h3>分类</h3> {% for classification in classification_list %} {% if classification.id in user_direction%} <a class="active" href="/sousuo-{{ direction1.id }}-{{ classification.id }}-{{ kwargs.level_id}}">{{ classification.name }}</a> {% endif %} {% endfor %} <h3>难度</h3> {% for level in level_list %} <a href="/sousuo-{{ direction1.id }}-{{ kwargs.id }}-{{ level.id}}">{{ level.title }}</a> {% endfor %} <h1>结果</h1> {% for item in video %} <p>{{ item.title }}</p> {% endfor %} </body> </html>
views
def sousuo(request, *args, **kwargs): # 传入一个字典,分别代表方向,分类,难度, dict = {} direction1={} for k, v in kwargs.items(): temp = int(v) if k=='id': direction1[k]=v else: if temp: dict[k] = temp print(dict) # 这里得到对应的值 user_direction1=models.Direction.objects.get(**direction1) # user_direction=user_direction1.classification.objects.filter('__classification_id=direction1[k]') user_direction=user_direction1.classification.values_list('id') user_direction=list(user_direction) user_direction=list(zip(*user_direction))[0]#得到对应分类的id print(user_direction) print(1) print(user_direction1) print(1) direction_list = models.Direction.objects.all() classification_list = models.Classification.objects.all() level_list = models.Level.objects.all() # video_list = models.Video.objects.filter(**dict) video_list = models.Video.objects.filter(**dict) return render(request, 'sousuo.html', { 'direction_list': direction_list, 'classification_list': classification_list, 'level_list': level_list, 'video': video_list, 'kwargs': kwargs, 'user_direction':user_direction, 'direction1':direction1 })