Jinja2 carece de um urlencode
filtro integrado clássico ( http://jinja.pocoo.org/docs/templates/#builtin-filters ). Aqui está um simples:
import urllib
from markupsafe import Markup
@app.template_filter('urlencode')
def urlencode_filter(s):
if type(s) == 'Markup':
s = s.unescape()
s = s.encode('utf8')
s = urllib.quote_plus(s)
return Markup(s)
Em seguida, use-o em seu modelo Jinja2:
{{ variable_to_encode | urlencode }}