包含标签 Python 的文章

Flask中Jinja2模板引擎详解(六)–块和宏

考虑到模板代码的重用,Jinja2提供了块 (Block)和宏 (Macro)的功能。块功能有些类似于C语言中的宏,原理就是代码替换;而宏的功能有些类似于函数,可以传入参数。本篇我们就来介绍下块和宏的用法。 系列文章 Flask中Jinja2模板引擎详解(一)-控……

阅读全文

Flask中Jinja2模板引擎详解(五)–全局函数

介绍完了过滤器和测试器,接下来要讲的是Jinja2模板引擎的另一个辅助函数功能,即全局函数Global Functions。如果说过滤器是一个变量转换函数,测试器是一个返回布尔值的函数,那全局函数就可以是任意函数。可以在任一场景使用,没有输入和输出值的限制。……

阅读全文

Flask中Jinja2模板引擎详解(四)–测试器

Jinja2中的测试器Test和过滤器非常相似,区别是测试器总是返回一个布尔值,它可以用来测试一个变量或者表达式,你需要使用”is”关键字来进行测试。测试器一般都是跟着if控制语句一起使用的。下面我们就来深入了解下这个测试器。 系列文……

阅读全文

Flask中Jinja2模板引擎详解(三)–过滤器

我所了解的模板引擎大部分都会提供类似Jinja2过滤器的功能,只不过叫法不同罢了。比如PHP Smarty中的Modifiers(变量调节器或修饰器),FreeMarker中的Build-ins(内建函数),连AngularJS这样的前端框架也提供了Filt……

阅读全文

Flask中Jinja2模板引擎详解(二)–上下文环境

Flask每个请求都有生命周期,在生命周期内请求有其上下文环境Request Context。我们在Flask进阶系列第一篇中有详细介绍。作为在请求中渲染的模板,自然也在请求的生命周期内,所以Flask应用中的模板可以使用到请求上下文中的环境变量,及一些辅助……

阅读全文

Python通过ctypes调用C程序实例

在做复杂计算时,Python的执行效率是无法同C比的。而且有些算法已经有开源的C库了,我们也没必要用Python重写一份。那Python怎么调用C语言写的程序库呢?答案就在Python提供的ctypes库,它提供同C语言兼容的数据类型,可以很方便地调用C语……

阅读全文

Flask中Jinja2模板引擎详解(一)–控制语句和表达式

让我们开启Jinja2模板引擎之旅,虽说标题是Flask中的Jinja2,其实介绍的主要是Jinja2本身,Flask是用来做例子的。如果对Flask不熟悉的朋友们建议将本博客的入门系列先看下。怎么,不知道什么是模板引擎?你可以将模板比作MVC模式中的Vi……

阅读全文

Flask进阶系列(三)–Jinja2模板引擎

其实我们在入门系列第三篇中已经介绍了模板,包括如何渲染模板,表达式和控制语句,模板继承,还有HTML转义。我们也知道了Flask模板是基于Jinja2实现的。其实Jinja2的模板功能远不止这些,想了想,还是决定在进阶系列中,更深入地介绍Jinja2模板引……

阅读全文

Flask进阶系列(二)–信号

信号(Signal)就是两个独立的模块用来传递消息的方式,它有一个消息的发送者Sender,还有一个消息的订阅者Subscriber。信号的存在使得模块之间可以摆脱互相调用的模式,也就是解耦合。发送者无需知道谁会接收消息,接收者也可自由选择订阅何种消息。这……

阅读全文

Flask进阶系列(一)–上下文环境

Flask目前最新的版本是0.10.1,在其版本更新过程中,Flask也在不断增加新的、炫酷的功能。我们在入门系列中介绍一些的基本功能,现在让我们开始更深入地了解Flask。 系列文章 Flask进阶系列(一)-上下文环境 Flask进阶系列(二)-信号 Flas……

阅读全文