quote_plus Jinja2中的URL编码过滤器

时间:2015-10-31 10:13:14

标签: python flask jinja2

Jinja中有一个urlencode过滤器,可以与{{ url | urlencode }}一起使用,但我正在寻找一个" plus"使用+而不是%20替换空格的版本,例如urllib.quote_plus()。现货供应还是自定义过滤器的时间?

1 个答案:

答案 0 :(得分:6)

不,Jinja2没有像quote_plus那样的内置方法;您需要创建自定义过滤器。

<强>的Python

from flask import Flask
# for python2 use 'from urllib import quote_plus' instead
from urllib.parse import quote_plus

app = Flask('my_app')    
app.jinja_env.filters['quote_plus'] = lambda u: quote_plus(u)

<强> HTML

<html>
   {% set url = 'http://stackoverflow.com/questions/33450404/quote-plus-urlencode-filter-in-jinja' %}
   {{ url|quote_plus }}
</html>