невозможно отобразить значения коллекции с помощью jinja2 в flask - PullRequest
0 голосов
/ 19 июня 2020

Я новичок в pymon go и flask, и я использую шаблон jinja 2 html для печати полей документа из коллекции. У меня есть коллекция фильмов, где экземпляр mov ie похож на:

movie = {"title" : "Hobbit" , "year":"2013" , "actors": ["Legolas" , "Gandalf"] ,"plot": "some plot"}

Я использую конечную точку flask, чтобы получить все фильмы, в которых играл конкретный c актер, а затем я передаю список фильмов, использующих шаблон рендеринга, в jinja2 для печати значений каждого документа. Однако я получаю пустую страницу вместо значений каждого mov ie.

Мой шаблон для отображения каждого документа в коллекции:

<body>

//the logout link only shows up
<a href = "{{url_for('logout')}}"> Logout </a>
    
{% for document in movie %}
    <fieldset>
        <h2>Title  : {{document.title}}</h2>
        <h2>Published   : {{document.year}}</h2>
        <h2>Plot  : {{document.plot}}</h2>
        
        <h2>Actors :</h2>
         {% for actor in document.actors%}
            <li> {{actor}} </li>
         {% endfor%} 
    </fieldset> 
    

{% endfor %}



</body>

Моя flask конечная точка:

@app.route('/findmoviefromactor' , methods = ['GET' , 'POST'])
def find_movie_from_actor():
    if 'Email' in session and 'User' in session:
        user = session['User']
        email = session['Email']
        if request.method=='POST':
            #find all movies where a specific actor is playing 
            movie_list = movies.find( {"actors": {"$in": [ request.form['actor'] ] } } )
            if movie_list !=None:
                for tainia in movie_list:
                    print(tainia['title']) #print each movie title
                #pass the movie list to the render template 
                return render_template('movie_details.html' , movie = movie_list)

        return render_template('movie-actor.html') 
    else:
        return redirect(url_for('login'))   

Итак, когда я передаю список mov ie, я просто получаю пустую страницу со ссылкой для выхода вместо списка фильмов. Буду признателен за вашу помощь в решении этой задачи. Заранее спасибо.

...