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:编程的乐趣
编程的乐趣 编程柔术 当你坐下来,打算如何组织计划要定时,具体程序,然而,无论什么经验.在实现时间的函数的,你会逐渐学会了原来的设计,实用的新知识.我们不应该忽视沿途汲取的教训,相反,它们用于其他设计 ...
随机推荐
- ftp 命令
- c# 字体安装
[DllImport("kernel32.dll", SetLastError = true)] static extern int WriteProfileString(stri ...
- Scrum介绍
Scrum介绍 摘要 如今,项目管理的步伐越来越快.项目管理需要更灵活.更积极地,向应客户的需求.使用敏捷项目管理方法,项目经理可以在不影响价值.质量和商业规则的前提下实现所有目标,Scrum是一种迭 ...
- 利用Android Studio、MAT对Android进行内存泄漏检测
利用Android Studio.MAT对Android进行内存泄漏检测 Android开发中难免会遇到各种内存泄漏,如果不及时发现处理,会导致出现内存越用越大,可能会因为内存泄漏导致出现各种奇怪的c ...
- Activemq消息持久化
官方文档: http://activemq.apache.org/persistence.html ActiveMq持久化相关配置:/usr/local/apache-activemq-5.11.1/ ...
- Codeforces Round #384 (Div. 2) A. Vladik and flights 水题
A. Vladik and flights 题目链接 http://codeforces.com/contest/743/problem/A 题面 Vladik is a competitive pr ...
- 使用ClipboardUtils兼容API LEVEL 11以下实现复杂粘贴
实现功能:复杂粘贴内容 问题描述:android.content.ClipboardManager在APILevel 11之后才可以使用,而我们目前还要兼容API Level 10(2.3.3) 解决 ...
- OGG-01232 Receive TCP params error: TCP/IP error 104 (Connection reset by peer), endpoint:
源端: 2015-02-05 17:45:49 INFO OGG-01815 Virtual Memory Facilities for: COM anon alloc: mmap(MAP_ANON) ...
- 深入剖析 redis 主从复制
主从概述 redis 支持 master-slave(主从)模式,redis server 可以设置为另一个 redis server 的主机(从机),从机定期从主机拿数据.特殊的,一个 从机同样可以 ...
- Android学习笔记----TimerTask中显示Toast的问题
今天想在TimerTask的run函数中调用Toast显示一下提示信息,却总是导致程序崩溃.可是try语句块却又无法捕获到异常,代码如下: ...... Timer timer = new Timer ...