Flask-模板语言

Flask中使用Jinjia2模版引擎
Jinjia2由Flask作者开发
一个现代化设计和友好的Python模版语言
模仿Django的模版引擎

优点:
速度快,被广泛使用
HTML设计和后端Python分离
减少Python复杂度
非常灵活,快速和安全
提供了控制、继承等高级功能

模版语法

模版语法主要分为两种
	变量	标签

模版中的变量 {{ var }}
  视图传递给模版的数据
  前面定义出来的数据
  变量不存在,默认忽略

模版中的标签 {% tag %}
  控制逻辑
  使用外部表达式
  创建变量
  宏定义

结构标签

block 块操作
  父模版挖坑,子模版填坑
  {% block xxx %}
  {% endblock %}

extends 继承
  {% extends 'xxx' %}

  继承后保留块中的内容
  {{ super() }}

include
  包含,将其他html包含进来
  {% include ’xxx‘ %}

marco [了解]
  宏定义,可以在模版中定义函数,在其它地方调用
  {% macro hello(name) %}
    {{ name }}
  {% endmacro %}

  宏定义可导入
  {% from ’xxx‘ import xxx %}

  {% macro person(name, age) %}
    <b>姓名:{{ name }}, 年龄:{{ age }}</b>
{% endmacro %}

{% block foot %}
    {{ person('hj', 25) }}
{% endblock %}

循环

for循环
  {% for item in cols %}
    AA
  {% else %}# 当循环出现问题就进入else
    BB
  {% endfor %}

也可以使用和Python一样的for_else
也可以获取循环信息 loop
loop.first: 判断是否是第一个元素
loop.last: 判断是否是最后一个元素
loop.index: 1开始的下标
loop.index0:0开始的下标
loop.revindex: 反向下标,不包括0
loop.revindex0: 反向下标,包括0

过滤器

语法
 {{ 变量|过滤器|过滤器... }}
capitalize
lower
upper
title
reverse
striptags  渲染之前,将值中的标签去掉

safe
default(1)
last
first
length
sum
sort
...
posted @   Bruce_JRZ  阅读(25)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
点击右上角即可分享
微信分享提示