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')}}
相关推荐
第一程序员7 小时前
Python数据结构与算法:非科班转码者的学习指南
python·github
weixin_586061468 小时前
如何用 event.composedPath 获取事件触发经过的所有节点
jvm·数据库·python
weixin_408717778 小时前
如何用 Iterator.from 将类数组转化为具备现代方法的迭代器
jvm·数据库·python
Full Stack Developme8 小时前
MyBatis-Plus 流式查询教程
前端·python·mybatis
才兄说8 小时前
机器人二次开发机器狗巡检?定位精度±2cm
python
2301_782659188 小时前
SQL视图能否用于数据仓库模型_雪花模型与视图构建
jvm·数据库·python
m0_377618238 小时前
CSS如何让文字超出两行显示省略号_使用line-clamp属性限制
jvm·数据库·python
卜夋8 小时前
Rust 学习笔记 - Day 6: 引用与借用
后端·rust
m0_743623928 小时前
HTML5中LocalStorage存储用户自定义快捷键配置
jvm·数据库·python
2301_773553628 小时前
HTML5中SharedWorker生命周期与浏览器进程关闭的关系
jvm·数据库·python