模板相关

2019-05-24  本文已影响0人  ArtioL

1.1

自定义上下文

@app.content_processor
def inject_foo():
    foo = 'I am foo'
    return dict(foo=foo)

当我们调用render_template() 函数渲染任意一个模板时, 所有使用app.context_processor装饰器注册的模板上下文处理函数 都会被执行, 这些函数的返回值会被添加到模板中,因此我们可以再模板中使用foo变量

def inject_foo():
    foo = 'I am foo'
    return dict(foo=foo)
app.content_processor(inject_foo)

1.2 注册过滤器

@app.template_filter()
def musical(s):
    return s + Markup(' ♫')

使用过滤器

{{ name|musical }} // name + Markup(' ♫')

1.3 注册测试器

@app.template_test()
def baz(n):
   if n == 'baz':
         return True
   return False

1.4 注册错误页面

@app.errorhandler(400):
def bad_request(e):
        return render_template('errors/400.html'), 400
上一篇下一篇

猜你喜欢

热点阅读