首页 > 解决方案 > 如何在 HTML 中向搜索查询显示所有可用结果

问题描述

我在 django 中有这个搜索引擎,当你查找“发布日期”时,它只显示一个带有该日期的结果,而不是所有可用的结果。我想知道如何管理它,以便如果我寻找具有多个结果的东西,它将显示所有结果,而不是随机的唯一结果。

这是我认为的搜索功能:

def films(request):
   movies = []
   
   if request.method == 'POST':
       
       film_url = 'https://ghibliapi.herokuapp.com/films/'
       
       search_params = {
           'films' : 'title',
           'films' : 'description',
           'films' : 'director',
           'films' : 'release_date',
           'q' : request.POST['search']
           
           }

       
       r = requests.get(film_url, params=search_params)
       results = r.json()
       
       if len(results):
           for result in results:
               movie_data = {
               'Title' : result['title'],
               'Release_date': result['release_date'],
               'Director' : result['director'],
               'Producer' : result['producer'],
               'Description' : result['description']

           }

           movies.append(movie_data)  
       
    
       else:
           message = print('No results found')

   context = {
   'movies' : movies
   }
       

   return render(request,'core/films.html', context)

这是我的html:

{% load static %}
<!DOCTYPE html>
<html>
<head>
   <title>Ghibli Studio | Movies</title>
   <link rel="stylesheet" href="{% static 'core/films.css' %}">
</head>
<body>
   <div class="layer">
       <div class=" header">

       </div>
       <div class="wrap">
           <form action='/films' method="POST">
               {% csrf_token %}
               <div class="search">


                   <input type="text" name="search" class="searchTerm" placeholder="     Type movie name">
                   <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
                   <button type="submit" class="searchButton">

                       <i class="fa fa-search" style="font-size:24px"></i>
                   </button>

               </div>


           </form>
       </div>

       {% if movies %}
       {% for movie in movies %}
       <div>
           <ul class="result">
               <style>
                   @import url('https://fonts.googleapis.com/css2?family=Dosis:wght@300&display=swap');
               </style>

               <h4>{{movie.Title}}</h4>
               <h5 style="color:lightslategray;">
                   Release date: {{movie.Release_date}} <br>
                   Director: {{movie.Director}}
                   <br>Producer: {{movie.Producer}}
                   <br>
                   <br>{{movie.Description}}
               </h5>


           </ul>
           {% endfor %}

           {% endif %}
       </div>
       
   </div>
</body>
</html>

标签: pythonhtmldjango

解决方案


推荐阅读