一、 简介
是众多领域中普遍应用的模板系统,主要用来制造 HTML 或 XML 这类文档。它被当作 Flask 的标准模板系统,依靠简明扼要的句法完成思路和形式的分离,并且依照 DRY 规则。掌握 是开发新型网络项目的关键前提。
二、基础语法与应用场景1. 变量与表达式语法规则
• 变量渲染:用 {{ 变量名 }} 包裹变量或表达式
• 表达式计算:支持数学运算、对象属性访问等
用户邮箱:{{ user.email }}
现在时间:{{ datetime.now().strftime("%Y-%m-%d") }},就是今天的确切日期
数据传递示例(Flask 视图函数)
使用flask库的render_template功能来展示页面
在路径为profile的网址上设置访问接口
def profile():
一个字典对象储存着信息,其中包含姓名和电子邮箱地址,具体内容是,名字是Alice,邮箱是alice@example.com
返回渲染模板文件profile.html, 传入参数user, 参数值为用户信息
2. 控制结构条件语句(if/elif/else)
如果身份是管理员,那么,就执行相应操作,
如果身份是编者,那么,
{% else %}
普通用户权限
{% endif %}
循环(for)
• 遍历列表/字典:支持 for...in 结构
• loop 对象:提供循环状态信息
{% for product in products %}
{{ loop.index }}
{{ product.name }}
{{ product.price|round(2) }}
{% endfor %}
循环通常具备以下特征,具体说明如下,当前循环的序号从1算起,当前循环的序号从0计数,判断当前循环是否属于初始循环或者终止循环
3. 过滤器()使用场景
对变量进行格式化处理(如文本截断、日期格式化)。
基础语法
{{ 变量 | 过滤器名(参数) }}
常用内置过滤器
过滤器
说明
示例
设置默认值
{{ name|('匿名') }}
获取长度
{{ list| }}
trim
移除首尾空格
去掉空格后的问候语是"Hello"
删除 HTML 标签
{{ "文本"| }} → "文本"
join
拼接列表元素
{{
'A','B'
|join(',') }} → "A,B"
转换为 JSON 字符串
{{ data| }}
自定义过滤器(Flask 示例)
在模板中定义一个名为反转的过滤器,用于将输入序列的元素顺序调换,实现首尾倒置的效果,具体表现为将最后一个元素移动至首位,第一个元素则移至末尾,中间元素的位置也相应进行反向调整,最终输出一个完全颠倒的序列副本,该过滤器适用于需要对列表或字符串等可迭代对象进行顺序反转的场景,调用时通常在模板引擎中通过特定的语法结构应用,以实现数据的即时处理和展示
def reverse_filter(s):
return s[::-1]
# 模板中使用
{{ "hello"|reverse }}
三、代码复用技巧1. 宏()概念
类似函数,用于封装可复用的 HTML 片段。
定义与调用
创建一个输入字段,其名称为指定值,标题为标签文本,字段类型默认为文本,若未指定则采用预设类型,整个定义过程封装在一个宏操作中,通过参数传递实现定制化配置,整个过程遵循特定语法规则,确保功能实现
{% endmacro %}
宏库管理
将常用宏存入 .html,通过 引用:
导入宏文件,名为宏,路径为宏文件路径,后缀为宏文件后缀名,使用时需先声明,然后通过名称调用,具体功能需查看宏文件内容,里面包含了各种可复用的代码片段,例如按钮,表单,导航条等,可以大大提高开发效率,减少重复代码的编写,每个宏都有其特定的用途和参数,使用时需要根据实际情况进行调整,确保能够满足需求,同时也要注意宏的版本兼容性,避免出现不兼容的情况,导致页面显示错误或者功能失效,总之,合理使用宏是现代网页开发的重要趋势,也是提高开发效率的关键所在。
请输入您的电子邮箱地址,在相应的位置填写,以便我们能够接收信息,这是必要的步骤,请务必提供准确的信息,确保通信畅通。
2. 模板继承核心概念
• 父模板:定义整体布局和可填充区块(block)
• 子模板:继承父模板并覆盖特定区块
父模板示例(base.html)
这个页面预设的名称是标准标题,它没有经过更改,维持初始状态,内容固定为这个表述,不会发生变动。
内容区域在此处呈现,具体信息随后展示,相关部分在此结束
子模板示例(home.html)
加载基础模板,设置页面标题为首页,属于个人网站范畴,展示最新发布的内容,遍历文章列表,每篇文章进行内容截取,限制长度为二百字符以内
扫一扫在手机端查看
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。


客服1