jinja中的quote_plus urlencode过滤器

dis*_*ive 7 python jinja2 flask

在jinja中有urlenclode过滤器,可以使用urlencode,但我正在寻找我使用的加号版本{{ url | urlencode }}.是否有现成的或者是定制过滤器的时间?

Won*_*ket 7

不,quote_plus没有一个功能相似的内置方法quote_plus; 您需要创建自定义过滤器

蟒蛇

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)
Run Code Online (Sandbox Code Playgroud)

HTML

<html>
   {% set url = 'http://stackoverflow.com/questions/33450404/quote-plus-urlencode-filter-in-jinja' %}
   {{ url|quote_plus }}
</html>
Run Code Online (Sandbox Code Playgroud)

  • 为什么不使用 `env.filters['quote_plus'] = quote_plus`? (3认同)