zl程序教程

您现在的位置是:首页 >  其他

当前栏目

用 Flask 来写个轻博客 (9) — M(V)C_Jinja 语法基础快速概览

博客基础 快速 语法 Flask 概览
2023-09-27 14:28:47 时间

Jinja:是 Python 实现的模板语言。
模板语言:是一种被设计出来自动生成文档的简单文本格式。在模板语言中,一般都会把一些变量传给模板,来替换模板中特定位置上的预先自定义好的占位变量名。向相同的模板文件(HTML+Python)传入不同的变量,达到生成格式相同但内容不同的网页文件,这个生成的过程被称之为渲染。


变量代码块中可以是任意的 Python 对象或类型,唯一的条件就是 {{}} 中的变量必须能够被 Python 的 str() 内置方法转换成一个 String 类型对象。


使用 {% controller_flow %} 来定义控制语句,{%%} 被称之为控制代码块,可以实现一些语言层次的功能。


NOTE 2:可以使用 Jinja 提供的 loop 变量来模型 Python 中的 enumerate() 内置函数的功能。 loop 变量可以返回一些关于 for 循环的信息,EG. 索引号。
{% for post in posts %}

 {{ loop.index }}-{{ post.title }}

{% endfor %}

Jinja 过滤器实质上是 Jinja 提供的内置函数或自定义函数,这些内置函数与 Python 函数的类型,可以接收参数并返回结果。常用于处理变量代码块中的变量。在变量代码块中使用管道符 | 来调用。


宏:会返回一个 Jinja 模板或 HTML 字符串。其最主要的功能就是提高代码的重用性,我们可以将一个会被反复使用到的模板或 HTML 文件写成一个宏,然后就像调用函数一般,不断的被重用。


实际上是想宏定义中的形参 name/label/value/type 传入实参 ‘name’/’Name’,其余的使用了缺省参数,而这些被传入的参数会替换 HTML 中的变量代码块。


如果希望将 JavaScript 代码和 Jinja 代码写在同一个模板文件中而不引起混淆(JavaScript 也含有 {{}} 语法),需要使用 raw 代码块来进行区分。


用 Flask 来写个轻博客 (1) — 创建项目 用 Flask 来写个轻博客 (2) — Hello World! 用 Flask 来写个轻博客 (3) — (M)VC_连接 MySQL 和...
用 Flask 来写个轻博客 (1) — 创建项目 用 Flask 来写个轻博客 (2) — Hello World! 用 Flask 来写个轻博客 (3) — (M)VC_连接 MySQ...
用 Flask 来写个轻博客 (1) — 创建项目 用 Flask 来写个轻博客 (2) — Hello World! 用 Flask ...
用 Flask 来写个轻博客 (1) — 创建项目 用 Flask 来写个轻博客 (2) — Hello World! 用 Fl...
用 Flask 来写个轻博客 (1) — 创建项目 用 Flask 来写个轻博客 (2) — Hello World! 用 Flask 来写个轻博客 (3) — (M)VC_连...
用 Flask 来写个轻博客 (1) — 创建项目 用 Flask 来写个轻博客 (2) — Hello World! 用 Flask 来写...