代码尽在我的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. SSH集成步骤

    1 在goodspeed.web.model下建立*类(空的构造,属性访问与设置),同时配置*.hbm.xml文件与数据库挂起来2 在goodspeed.web.dao建立*Dao和*Daoimpl类 ...

  2. Notes for Linux Administration Handbook (1) : Booting and Shutting Down

  3. SMON功能(一):清理临时段

    温故而知新 SMON功能(一) SMON(system monitor process)系统监控后台进程,有时候也被叫做system cleanup process,这么叫的原因是它负责完成很多清理( ...

  4. [转] sql_id VS hash_value

    有没有发现,v$session,v$sql,v$sqlarea,v$sqltext,v$sql_shared_cursor等试图连接的时候经常会用到hash_value,sql_id,但是他们2个之间 ...

  5. ios开发中的C语言学习—— 结构体简介

    在开发过程中,经常会需要处理一组不同类型的数据,比如学生的个人信息,由姓名.年龄.性别.身高等组成,因为这些数据是由不同数据类型组成的,因此不能用数组表示,对于不同数据类型的一组数据,可以采用结构体来 ...

  6. linq to entity 获取项的集合总数

    IEnumerable<InspecReportsContextEntity> OnenewDate = lisConAll.Where(p => p.inspectime == t ...

  7. drupal7 Views Slideshow 简单教程

    一.下载安装(略) 二.内容类型建立(过程略,首页幻灯),字段建立(过程略)主要有2个字段,图片字段 和 指向链接字段 三.view 1.建立一个新的view,名称为frontbanner 显示为内容 ...

  8. Jenkins Code Sign error: No provisioning profiles found

    === BUILD TARGET JenkinsTest OF PROJECT JenkinsTest WITH CONFIGURATION Release === Check dependencie ...

  9. iOS 语言切换、本地化,国际化

    什么是本地化处理? 本地化处理就是我们的应用程序有可能发布到世界的很多国家去,因为每个国家应用的语言是不一样的,所以我们要把我们的应用程序的语言要进行本地化处理一下. 本地化处理需要处理那些文件? ( ...

  10. AchartEngine绘图引擎

    https://code.google.com/p/achartengine/  Code Test代码: /workspace/AChartEngineTest   /workspace/appco ...