代码尽在我的github上面:https://github.com/521xueweihan

概述:
    在Flask中,Jinja2默认配置如下:
        A.扩展名为.html,.htm,.xml和.xhtml的模板中开启自动转义。
        B.在模板中可以使用{% autoescape %}来手动设置是否转义。
        C.Flask在Jinja2环境中加入一些全局函数和辅助对象(下面写的方法)

1.|safe的作用是关闭转义字符
    转义就是对特殊字符进行转义。特殊字符指的是HTML。
    三种方法关闭转义:
        a.用Markup对象封装。
        b.在模板中使用|safe过滤
        c.临时关闭整个系统的自动转义——{% autoescape false%}
        
2.{{ 这里放变量 }}

3.注册过滤器
    两个方法:手动放入jinja_env中,要么使用template_filter()装饰器

 a:    @app.template_filter('reverse')
def reverse_filter(s):
return s[::-1] # 倒序列表 b: def reverse_filter(s):
return s[::-1]
app.jinja_env.filters['reverse'] = reverse_filter

一旦注册成功,你就可以在模板中像Jinja2的内建过滤其一样使用过滤器了。

{% for x in mylist | reverse %} # 这里就可以按照你注册的过滤器来进行操作
{% endfor%}

4.环境处理器的作用是把新的变量自动引入模板环境中,返回是一个字典。——用修饰器:@app.context_processor
    传递的可以是一个变量,也可以是一个函数
传递变量:

@app.context_processor
def inject_user():
return dict(user = g.user)

传递函数:

@app.context_processor
def utility_processor(): # 处理货币转换的一个方法
def format_price(amount, currency = u'$'):
return u'{0:.2f}{1}'.format(amount, currency)
return dict(format_price = format_price)

上面的例子把format_price函数传递给所有模板,可以在模板中随意调用

{{ format_price(0.33) }}

Flask模板_学习笔记的更多相关文章

  1. 测试Flask应用_学习笔记

    源代码尽在我的github上面:https://github.com/521xueweihan 欢迎大家交流学习 """ setUp() 方法中会创建一个新的测试客户端并 ...

  2. NVelocity模板引擎学习笔记

    NVelocity模板引擎学习笔记 学习模板引擎有一段时间现在做一些总结

  3. 【笔记目录2】【jessetalk 】ASP.NET Core快速入门_学习笔记汇总

    当前标签: ASP.NET Core快速入门 共2页: 上一页 1 2  任务27:Middleware管道介绍 GASA 2019-02-12 20:07 阅读:15 评论:0 任务26:dotne ...

  4. Volecity模板引擎学习笔记

    转自:https://blog.csdn.net/reggergdsg/article/details/50937433 最近项目中用到了volecity模板,这里做一下笔记,学习中...相比较 Fr ...

  5. python基础教程_学习笔记14:标准库:一些最爱——re

    标准库:一些最爱 re re模块包括对正則表達式的支持,由于以前系统学习过正則表達式,所以基础内容略过,直接看python对于正則表達式的支持. 正則表達式的学习,见<Mastering Reg ...

  6. jade模板引擎学习笔记(WebsStorm9.0.3+ nodejs+express+jade)

    jade环境搭建 jade标签写法 jade注释 jade添加类名.id.属性 jade添加脚本,css jade变量 jade多行文本显示 jade流程代码:for,each,while jade流 ...

  7. python基础教程_学习笔记12:充电时刻——模块

    充电时刻--模块 python的标准安装包含一组模块,称为标准库. 模块 >>> import math >>> math.sin(0) 0.0 模块是程序 不论什 ...

  8. LCT模板(学习笔记)(洛谷3690)(加边,删边,修改点权)

    最近学习了一波LCT qwq 强势安利Flashhu的博客!!!!! 真的特别详细(可惜我不会弄链接) 如果有想要学习\(LCT\)的同学,可以直接看他的博客 我这里就简单写一点自己的体会啊. \(L ...

  9. python基础课程_学习笔记26:编程的乐趣

    编程的乐趣 编程柔术 当你坐下来,打算如何组织计划要定时,具体程序,然而,无论什么经验.在实现时间的函数的,你会逐渐学会了原来的设计,实用的新知识.我们不应该忽视沿途汲取的教训,相反,它们用于其他设计 ...

随机推荐

  1. 493萬Gmail用戶的賬號密碼遭洩露,Google否認自己存在安全漏洞

    最近,大公司在互聯網信息安全問題上狀況頻出.上週,蘋果因iCloud被黑客攻擊而導致大量明星私照外洩,著實是熱鬧了一陣.而Google也來湊熱鬧了.據俄羅斯媒體CNews消息,近493萬Gmail用戶 ...

  2. Swift入门篇-基本类型(2)

    现在我也在学习Swift语言,常常去逛很多苹果社区和论坛,看到了圈子很多奇怪的现象,发现很多人都赶忙去翻译 Swift书籍 和 发布Swift的视频 .他们这种对新知识的探索精神我本人是很佩服的.但是 ...

  3. ngnix编译遇到的问题.

    总结:先后遇到libz库文件没有正确的链接和pcre库文件没有正确的链接 1./configure后提示需要zlib 2.locate zlib,系统中没有zlib的共享库so文件,但是有一些头文件, ...

  4. Scala 深入浅出实战经典 第48讲:Scala类型约束代码实战及其在Spark中的应用源码解析

    王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-64讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 ...

  5. A CIRCULAR PROGRESSBAR STYLE USING AN ATTACHED VIEWMODEL

    This blog post describes how to re-template the Silverlight ProgressBar control to render a circular ...

  6. ECshop 怎样修改商品详细页的“浏览次数”

    怎样修改商品详细页的“浏览次数” 最好可以修改为成倍增加的,比如客户浏览了一次,显示的是20次. 修改 goods.php  文件的下面这行代码即可 $db->query('UPDATE ' . ...

  7. Creating Apps With Material Design —— Creating Lists and Cards

    转载请注明 http://blog.csdn.net/eclipsexys 翻译自Developer Android.时间仓促,有翻译问题请留言指出,谢谢 创建Lisst和Cards 在你的应用程序创 ...

  8. 実行時にMicrosoft.ACE.OLEDB.12.0プロバイダーはローカルコンピュータに登録されていませんが出てしまう

    環境 Windows8 64bit Visual Studio 2010 Access 2010 32bit 接続プロバイダは「Microsoft.ACE.OLEDB.12.0」 対応 Downloa ...

  9. 给VMware下的Linux扩展磁盘空间(以CentOS6.3为例)转

    #查看挂载点:df -h#显示:文件系统 容量 已用 可用 已用%% 挂载点/dev/mapper/vg_dc01-lv_root 47G 12G 34G 25% /tmpfs 504M 88K 50 ...

  10. Mac OS 下安装wget

    环境:  Mac OS X 10.9.4 1 下载源码 地址: http://ftp.gnu.org/gnu/wget/wget-1.9.tar.gz 2 解压安装 tar zxvf wget-1.9 ...