Jinja的基础知识
Jinja的基础知识
介绍:Jinja2 是一个现代的,设计者友好的,仿照 Django 模板的 Python 模板语言。 它速度快,被广泛使用,并且提供了可选的沙箱模板执行环境保证安全
基本操作
变量:使用{{}}包围
<a>{{user.username}}</a>
注释:注释代码块使用 {# Documents #} 来表示
控制语句:使用{{% 控制流程 %}}来编写控制代码块
{% if a %}<p>hello a</p> {% else %}<p>hello b</p> {% endif %}
循环:
在 Jinja 中需要同时使用循环语句和 if 语句来模拟 continue 语句的功能。
可以使用 Jinja 提供的 loop 变量来模型 Python 中的
enumerate()
内置函数的功能。 loop 变量可以返回一些关于 for 循环的信息,如: 索引号。
# example1{% for post in posts if post.text %}<div><h1>{{ post.title }}</h1><p>{{ post.text | safe }}</p></div> {% endfor %}# example2{% for post in posts %}{{ loop.index }}-{{ post.title }} {% endfor %}
过滤器:用于处理变量代码块中的变量。过滤器与变量用管道符号(
|
)分割,并且也 可以用圆括号传递可选参数。多个过滤器可以链式调用,前一个过滤器的输出会被作为 后一个过滤器的输入。
常用过滤器:http://blog.csdn.net/jmilk/article/details/53292248# 有参数{{ variable | filter_name }}# 或无参数{{ variables | filter_name(*args) }}
宏:类似于函数,会返回一个 Jinja 模板或 HTML 字符串。其最主要的功能就是提高代码的重用性。如:
{% macro input(name, label, value='', type='text')%}<div class="form-group"><label for"{{ name }}">{{ label }}</div><input type="{{ type }}" name="{{ name }}"value="{{ value | escape }}" class="form-control"></div> {% endmacro %}
input()
:是宏的名字,类似于函数名(name, label, value='', type='text')
:是宏的参数,类似于函数的必备参数和缺省参数调用
{{ input('name', 'Name') }}
- 结果
<div class="form-group"><label for"name">Name</div><input type="text" name="name"value="" class="form-control"></div>
文章参考自:
http://blog.csdn.net/jmilk/article/details/53264049
http://docs.jinkan.org/docs/jinja2/templates.html#id7
Jinja的基础知识相关推荐
- 嵌入式Linux的OTA更新,基础知识和实现
嵌入式Linux的OTA更新,基础知识和实现 OTA updates for Embedded Linux, Fundamentals and implementation 更新的需要 一旦嵌入式Li ...
- 计算机基础知识第十讲,计算机文化基础(第十讲)学习笔记
计算机文化基础(第十讲)学习笔记 采样和量化PictureElement Pixel(像素)(链接: 采样的实质就是要用多少点(这个点我们叫像素)来描述一张图像,比如,一幅420x570的图像,就表示 ...
- 嵌入式linux编程,嵌入式Linux学习笔记 - 嵌入式Linux基础知识和开发环境的构建_Linux编程_Linux公社-Linux系统门户网站...
注:所有内容基于友善之臂Mini2440开发板 一.嵌入式Linux开发环境的构建 嵌入式开发一般分为三个步骤: 1.编译bootloader,烧到开发板 2.编译嵌入式Linux内核,烧到开发板 3 ...
- 《计算机网络应用基础》模拟试卷(六),《计算机与网络应用基础知识1》模拟试卷...
<计算机与网络应用基础知识1>模拟试卷 (4页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.9 积分 <计算机与网络应用基础知识1& ...
- python向量计算库教程_NumPy库入门教程:基础知识总结
原标题:NumPy库入门教程:基础知识总结 视学算法 | 作者 知乎专栏 | 来源 numpy可以说是 Python运用于人工智能和科学计算的一个重要基础,近段时间恰好学习了numpy,pandas, ...
- python常用变量名_python基础知识整理
Python Python开发 Python语言 python基础知识整理 序言:本文简单介绍python基础知识的一些重要知识点,用于总结复习,每个知识点的具体用法会在后面的博客中一一补充程序: 一 ...
- 计算机基础知识掌握欠缺,《计算机基础知识》实验教学改革探讨.pdf
<计算机基础知识>实验教学改革探讨.pdf Science& TechnologyVision 科 技 视 界 科技 探·索·争鸣 计<算机基础知识>实验教学改革探讨 ...
- python计算wav的语谱图_Python实现电脑录音(含音频基础知识讲解)
前言 今天开始进入近期系列文章的第一篇,如何用 Python 来实现录音功能. 在开始"造轮子"之前,个人一直强调一个观点,如果有些东西已经有了,不妨直接去 github 上搜,用 ...
- 计算机wrod初级考试题及答案,计算机基础知识+Word基础知识+Excel基础知识试题答案解析.doc...
文档介绍: 计算机基础知识+ Word基础知识+ Excel基础知识 第一部分 一.单项选择题 1.世界上第一台电子数字计算机取名为( ). A.UNIVAC B.EDSAC C.E ...
最新文章
- Linux下SVN服务器同时支持Apache的http和https及svnserve独立服务器三种模式且使用相同的访问权限账号...
- npm切换到淘宝镜像
- java程序课程总结_java课程总结
- SpringBoot AOP实现接口次数访问统计
- PHP的urlencode
- 用NGUI做一个计时条!
- 学习OpenCV,看这些!
- 【JEECG技术博文】JEECG国际化介绍
- 怎么批量在数字里加入网页_手把手教你爬取天堂网1920*1080大图片(批量下载)——理论篇
- 10个办法让设计小白迅速get海报设计要点!
- 汽车智能电气技术分析
- 通过 web 录制视频(摄像头)并上传
- syncnavigator关于win10、win8系统无法注册机进行激活的问题
- 三菱PLC基础知识 辅助继电器M
- swagger导出接口文档
- kz服务器速度显示,CSGO(KZ模式)服务器搭建常见问题答疑(示例代码)
- Turtle 画方形 画圆 画三角形
- CloudsBombs
- 无人机开发系列 Ubuntu18.04安装 含虚拟机与双系统
- 凉宫春日的忧郁第四章
热门文章
- 将虚拟主机加入到netskills.net域环境_网站建设阿里云虚拟主机、ECS服务器、企业邮箱选择购买指南...
- centos 卸载_CentOS「linux」学习笔记12:磁盘管理、分区挂载卸载操作
- python干货_python 基础干货 02
- android 生命周期_Android生命周期组件 Lifecycle 源码详解(一)
- zend optimizer php5.5,PHP_PHP5.3以上版本安装ZendOptimizer扩展,现在很多PHP程序都需要ZendOptimi - phpStudy...
- C++之前置自增与后置自增
- 标示符和关键字的总结--希望别再犯错
- [luoguP2331] [SCOI2005]最大子矩阵(DP)
- 使用junit测试用例
- 解决启动Biee控制台乱码问题