Flask模板之全局对象

Flask模板的全局对象: 全局对象是指在所有的模板中都可以直接使用的对象,包括在模板中导入的模板.

内置全局函数

  • Jinja2内置全局函数
1. range([start,]stop[,step])       -- 和python中的range()用法一样
2. lipsum(n=5,html=True,min=20,max=100)     -- 生成随机文本,可以在测试时用来填充页面,默认生成5段HTML文本,每段包含20~100个单词
3. dict(**items)   -- 和python的dict()用法相同
  • Flask在模板中内置了两个内置函数
1. url_for()    -- 用于反向解析,生成url
2. get_flashed_messages()    -- 用于获取flash消息

自定义全局函数

  • 除了使用app.context_processor注册模板上下文处理函数来传入函数,我们也可以使用app.template_global装饰器直接将函数注册为模板全局函数.
@app.template_global(name)    -- name 表示传入给模板的函数名
def bar():
     return "register a global variable of template"

也可以直接使用app.add_template_global(function, name)传入函数对象和自定义名称注册自定义模板函数,

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 22年12月更新:个人网站关停,如果仍旧对旧教程有兴趣参考 Github 的markdown内容[https://...
    tangyefei阅读 35,275评论 22 257
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,138评论 25 709
  • 上篇:闭关
    墨迹简书阅读 446评论 0 1
  • 这故事早已付做笑谈说 楼阁灯微影弱,有过几般余客 轻抚焦尾,音韵洒落 而落他舟,为伊停泊 窗外春光乍暖,煦煦正好过...
    月华城阅读 420评论 1 0
  • 今年30了,可是心还是很迷茫,为什么呢?思来想去,这几年从没follow my own heart
    Bingo_111阅读 246评论 0 0