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
...
合集:
Python全栈(Flask)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库