как я могу передать параметр в javascript в flask и использовать его в качестве src изображения

#javascript #flask #jinja2

Вопрос:

Я хочу передать параметр в javascript и использовать его в качестве src изображения. Но это совсем не работает. когда я жестко закодировал URL-адрес, это сработало. И этот вид url_for тоже работает в html.

это app.py

 @app.route('/result')
def result_html():
 username = str(session['user'])
 url = 'images/' username '/test.jpg'
 return render_template('result.html',data = url)
 

и это функция javascript в html

   function checkImage(){
  var img = new Image();
  img.src = "{{ url_for('static', filename=data) }}"
  img.onload = function(){
      document.getElementById("changeImg").setAttribute("src","{{ url_for('static', filename=data) }}")
      document.getElementById("changeImg").setAttribute("style","padding-top: 5%; padding-bottom : 2%")
      document.getElementById("spinner-section").setAttribute("style","display:none");
      clearInterval(intervalId);
  }
 

Ответ №1:

Это работает:

Ваш взгляд:

 @app.route('/result')
def result_html():
    demoUrl = 'https://upload.wikimedia.org/wikipedia/en/d/d4/Mickey_Mouse.png'
    return render_template('result.html', url = demoUrl) 
 

Ваш шаблон:

 <img id="changeImg" >
<script>
    document.getElementById("changeImg").setAttribute("src","{{ url }}")
</script>