Flask模板_学习笔记
代码尽在我的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模板_学习笔记的更多相关文章
- 测试Flask应用_学习笔记
源代码尽在我的github上面:https://github.com/521xueweihan 欢迎大家交流学习 """ setUp() 方法中会创建一个新的测试客户端并 ...
- NVelocity模板引擎学习笔记
NVelocity模板引擎学习笔记 学习模板引擎有一段时间现在做一些总结
- 【笔记目录2】【jessetalk 】ASP.NET Core快速入门_学习笔记汇总
当前标签: ASP.NET Core快速入门 共2页: 上一页 1 2 任务27:Middleware管道介绍 GASA 2019-02-12 20:07 阅读:15 评论:0 任务26:dotne ...
- Volecity模板引擎学习笔记
转自:https://blog.csdn.net/reggergdsg/article/details/50937433 最近项目中用到了volecity模板,这里做一下笔记,学习中...相比较 Fr ...
- python基础教程_学习笔记14:标准库:一些最爱——re
标准库:一些最爱 re re模块包括对正則表達式的支持,由于以前系统学习过正則表達式,所以基础内容略过,直接看python对于正則表達式的支持. 正則表達式的学习,见<Mastering Reg ...
- jade模板引擎学习笔记(WebsStorm9.0.3+ nodejs+express+jade)
jade环境搭建 jade标签写法 jade注释 jade添加类名.id.属性 jade添加脚本,css jade变量 jade多行文本显示 jade流程代码:for,each,while jade流 ...
- python基础教程_学习笔记12:充电时刻——模块
充电时刻--模块 python的标准安装包含一组模块,称为标准库. 模块 >>> import math >>> math.sin(0) 0.0 模块是程序 不论什 ...
- LCT模板(学习笔记)(洛谷3690)(加边,删边,修改点权)
最近学习了一波LCT qwq 强势安利Flashhu的博客!!!!! 真的特别详细(可惜我不会弄链接) 如果有想要学习\(LCT\)的同学,可以直接看他的博客 我这里就简单写一点自己的体会啊. \(L ...
- python基础课程_学习笔记26:编程的乐趣
编程的乐趣 编程柔术 当你坐下来,打算如何组织计划要定时,具体程序,然而,无论什么经验.在实现时间的函数的,你会逐渐学会了原来的设计,实用的新知识.我们不应该忽视沿途汲取的教训,相反,它们用于其他设计 ...
随机推荐
- python3 slice
Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:43:06) [MSC v.1600 32 bit (Intel)] on win32Type & ...
- AngularJs应用页面切换优化方案(转)
目录[-] 前言 场景 使用resolve来提前请求数据 为页面加入切换动画 总结 葡萄城的一款尚在研发中的产品,对外名称暂定为X项目.其中使用了已经上市的wijmo中SpreadJS产品,另外,在研 ...
- Sicily 3913. 阶乘之和
http://soj.me/3913 一开始被它的数据吓到了,还以为很复杂,但想清楚之后,确实是比较简单的,你只需要算到 24! 就行了,大于 24 的时候答案永远是 940313,因为我们是对 10 ...
- 使用 ContentProviderOperation 来提升性能
ContentProviders 是android 系统核心组件之一,ContentProviders 封装了数据的访问接口,其底层数据一般都是保存在数据库中或者保存在云端. 有时候你需要更新多行数 ...
- 使用Fragment应用放置后台很久,被系统回收,出现crash
使用Fragment应用放置后台很久,被系统回收,出现crash:原因:系统做了源码FragmentActivity调用onSaveInstanceState保存Fragment对象,这时候系统恢复保 ...
- ★android开发--ListView+Json+异步网络图片加载+滚动翻页的例子(图片能缓存,图片不错乱)
例子中用于解析Json的Gson请自己Google下载 主Activity: package COM.Example.Main; import java.util.HashMap; import ja ...
- 804 pretest 解题
Answers with Explanations 1. c) s1 and s2 not equal s1 and s3 equal JVM sets a constant pool in whic ...
- android 监听软键盘的收起与打开
参考: http://toughcoder.net/blog/2015/10/09/android-trick-detect-soft-keyboard-show-slash-hide/ packag ...
- Rhino -- 基于java的javascript实现
http://www.cnblogs.com/cczw/archive/2012/07/16/2593957.html
- AIDL示例
背景 最近在考虑项目重构的时候,考虑将项目拆分成两个APK,一个用于数据服务,一个用于UI展示. 数据服务APK向自己编写APK提供数据,同时也可以向第三方提供数据.考虑使用这样的方式代替向第三方提供 ...