#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>