Flask 入门4:Flask 模板

1. 前言

Flask 拥有丰富的扩展方法,且都有统一的特点:简单和即学即用。当我们要实现某个功能之前,可以提前去搜一搜这个功能包是否已经存在,这样也能帮助我剩下很多时间。那么要去哪里找到这些扩展包呢,这里推荐两个方法供大家使用:

2. 模板

模板即一个服务器页面,在模板中我们可以使用服务端的语法,来控制最终的 html 页面输出。

jinja2 :https://jinja.palletsprojects.com/en/3.1.x/templates/#filters

python 复制代码
@app.template_filter('md')
def markdown_to_html(txt):
    return markdown(txt)


def read_md(filename):
    with open(filename) as md_file:
        content = reduce(lambda x, y: x + y, md_file.readlines())
    return content.decode('utf-8')


@app.context_processor
def inject_method():
    return dict(read_md=read_md)
html 复制代码
{{body | md |safe }}
{{read_md('xxxx.md')}}
相关推荐
陈随易18 小时前
编程语言级别的Skill市场,AI Agent 的未来形态
前端·后端·程序员
IT_陈寒21 小时前
Vite的热更新突然不香了,排查三小时差点砸键盘
前端·人工智能·后端
子兮曰21 小时前
Agency-Agents 深度解析:400+ AI 专家的"梦之队"如何重塑开发工作流
前端·后端·vibecoding
用户8356290780511 天前
Python 实现 PDF 文件加密与解密方法
后端·python
小满zs1 天前
Go语言第二章(小无相功)
后端·go
用户8356290780511 天前
使用 Python 冻结与拆分 Excel 窗格教程
后端·python
karry_k1 天前
MyBatis批量insert-select踩坑:useGeneratedKeys=true 可能让PostgreSQL返回大量插入结果
java·后端
妙码生花1 天前
从 PHP 到 AI + Golang,程序员自救转型手记(十九):点选验证码代码逐行目检
前端·后端·go
贰先生1 天前
Xiuno BBS X版 用户封禁系统
后端
karry_k1 天前
PostgreSQL 在 MyBatis 中执行正常 SQL 失效:一次 DELETE USING 踩坑记录
java·后端