Juan Prado Juan Prado - 22 days ago 8
HTML Question

How to insert a JavaScript variable into Flask url_for() function?

I have following code in my Flask template:

<div id="cell1"></div>
<script>
var id="0014";
cell1.innerHTML = '<a href={{url_for('static',filename='+id+'".txt")}}">'+id+'</a>';
</script>


I want the link to render to:

http://my_address/static/0014.txt


But I got this:

http://my_address/static/+id+.txt


How to make the js variable
id
in Flask
url_for()
function work?

Thanks for your help!

Answer

Try this:

cell1.innerHTML = '<a href={{url_for('static', filename='')}}' + id + '.txt>' + id + '</a>';

url_for() will generate a link like this: .../static/<filename>. If you use url_for('static', filename=''), it generate a link like: .../static/, so you can just add text after it (i.e. + id + '.txt>') .

Comments