我是 Flask 的新手。我正在尝试动态生成我的模板,以便我可以通过 AJAX 发出请求并将行附加到表中:
@app.template_filter('my_multiplier')
def my_multiplier(n):
return n*10
@app.route('/')
def index():
content = [1,2,3,4,5]
tmplate = get_template()
html = tmplate.render(content=content)
return render_template('index.jinja2',html=html)
def get_template():
html = Template(u'''\
{% for n in conent %}
<tr><td>{{ n | my_multiplier }}</td></tr>
{% endfor %}''')
return html
我得到一个错误:TemplateAssertionError: no filter named 'my_multiplier'
我做错了什么? (如果我排除过滤器,模板呈现良好)
最佳答案
你注册过滤器了吗?
environment.filters['my_multiplier'] = my_multiplier
http://jinja.pocoo.org/docs/api/#custom-filters
希望这对您有所帮助!
关于python - 如何在 Flask 中为动态生成的 jinja2 模板注册过滤器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21739773/