i'm trying to create something like Google Suggest Tool (via suggest api http://suggestqueries.google.com/complete/search?output=toolbar&hl=ru&q=query )
I'm listening input changes, and send data go GET:
$("#search_form_input").keyup(function(){ var some_var = $(this).val();    $.ajax({       url: "",       type: "get", //send it through get method       data:{jsdata: some_var},       success: function(response) {        },       error: function(xhr) {         //Do Something to handle error       }     });   After that i'm handling this data and send it to Google API and got response in Python:
@app.route('/', methods=['GET', 'POST']) def start_page_data():     query_for_suggest = request.args.get('jsdata')      if query_for_suggest == None:         suggestions_list = ['',]         pass     else:         suggestions_list = []         r = requests.get('http://suggestqueries.google.com/complete/search?output=toolbar&hl=ru&q={}&gl=in'.format(query_for_suggest), 'lxml')         soup = BeautifulSoup(r.content)         suggestions = soup.find_all('suggestion')         for suggestion in suggestions:             suggestions_list.append(suggestion.attrs['data'])         print(suggestions_list)     return render_template('start_page.html', suggestions_list=suggestions_list)   In Jinja trying to print it in HTML dynamically:
        <label id="value_lable">               {% for suggestion in suggestions_list %}                 {{ suggestion }}             {% endfor %}          </label>   But variable in Jinja doesn't update dynamically and print empty list.
How to print suggestions from list dynamically in HTML?
Working example:
app.py
from flask import Flask, render_template, request import requests from bs4 import BeautifulSoup   app = Flask(__name__)   @app.route('/') def index():     return render_template('index.html')   @app.route('/suggestions') def suggestions():     text = request.args.get('jsdata')      suggestions_list = []      if text:         r = requests.get('http://suggestqueries.google.com/complete/search?output=toolbar&hl=ru&q={}&gl=in'.format(text))          soup = BeautifulSoup(r.content, 'lxml')          suggestions = soup.find_all('suggestion')          for suggestion in suggestions:             suggestions_list.append(suggestion.attrs['data'])          #print(suggestions_list)      return render_template('suggestions.html', suggestions=suggestions_list)   if __name__ == '__main__':     app.run(debug=True)   index.html
<!DOCTYPE html>  <html>  <head>     <title>Suggestions</title> </head>  <body>  Search: <input type="text" id="search_form_input"></input>  <div id="place_for_suggestions"></div>  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>  <script> $("#search_form_input").keyup(function(){     var text = $(this).val();      $.ajax({       url: "/suggestions",       type: "get",       data: {jsdata: text},       success: function(response) {         $("#place_for_suggestions").html(response);       },       error: function(xhr) {         //Do Something to handle error       }     }); }); </script>  </body>  </html>   suggestions.html
<label id="value_lable">     {% for suggestion in suggestions %}         {{ suggestion }}<br>     {% endfor %} </label> 
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With