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')}}
相关推荐
tyung7 小时前
Go 手写 Wait-Free MPSC 无界队列:SwapPointer 实现多生产者无锁入队
后端·go
张不才7 小时前
CPU 100% 了怎么办?Java 性能排障的标准化操作
java·后端
鱼人7 小时前
Redis、网关负载均衡为什么不能用普通取模哈希?
后端
juejin9988 小时前
Claude Code Lab-3(下):三能力 MCP Server
后端
java小白小8 小时前
SpringBoot(07):事务管理——@Transactional 你真的用对了吗?
后端
shepherd1119 小时前
吞吐量提升 10 倍:高并发大批量数据处理任务的架构演进与性能调优
java·后端·架构
java小白小9 小时前
SpringBoot(05):Spring Data JPA——用面向对象的方式操作数据库
后端
juejin9989 小时前
Claude Code Lab-2(上):自然语言查库助手
后端
java小白小9 小时前
SpringBoot(06):多数据源配置——一个项目连多个库怎么做
后端
程序员cxuan10 小时前
Codex 会把磁盘给烧了?完整复盘来了!
人工智能·后端·程序员