惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 三生石上(FineUI控件)
D
Docker
GbyAI
GbyAI
宝玉的分享
宝玉的分享
Jina AI
Jina AI
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Vercel News
Vercel News
博客园_首页
Recent Announcements
Recent Announcements
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Hugging Face - Blog
Hugging Face - Blog
腾讯CDC
S
SegmentFault 最新的问题
Microsoft Security Blog
Microsoft Security Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
美团技术团队
V
V2EX
WordPress大学
WordPress大学
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
V
Visual Studio Blog
IT之家
IT之家
Apple Machine Learning Research
Apple Machine Learning Research
T
Tailwind CSS Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com

筱枫 – 魔帆博客

日文中的衬线、非衬线混排 | 魔帆博客 网页排版中的字体衬线 | 魔帆博客 中兴 CPE (4G) 设置 IPv6 联网 | 魔帆博客 使用 Aria2 搭建离线下载服务器 | 魔帆博客 使用 Excel 在地图上标注城市 | 魔帆博客 微信小程序健康打卡自动填报程序-使用 Fiddler 抓包 | 魔帆博客 替换 PHP creat_function() 函数 | 魔帆博客 PC 使用 iTunes 将照片向 iPhone 的不同相册导入 | 魔帆博客 MediaWiki 的伪静态设置 (Apache 环境) | 魔帆博客 【机房技巧】关于解除 机房管理助手 程序及摆脱控制的研究 | 魔帆博客 【Javascript】自动删除QQ空间说说 | 魔帆博客 【短文】雨·呼喊·愤懑 | 魔帆博客 如何使用js调试工具Console制作彩蛋/输出信息 | 魔帆博客 【酷站】OldWeb-怀旧专用 看看我们网络的黑历史 | 魔帆博客 【娱乐向】为什么你的金鱼养着养着就挂了? | 魔帆博客 【哲学】关于颜色的思考 | 魔帆博客 【实用】在学校机房玩电脑的技巧 | 魔帆博客 催泪电影《忠犬八公的故事》 | 魔帆博客 温暖人心电影《背影》 | 魔帆博客
使用 Jinja2 从模板生成网页 | 魔帆博客
筱枫 · 2021-04-06 · via 筱枫 – 魔帆博客

安装

pip install Jinja2

使用

大致思路如下:

Jinja2 生成思路
Jinja2 生成思路

创建模板文件 base.html 如下:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>{% block title %}{% endblock %}</title>
    </head>
    <body>
    </body>
</html>

其中 {% block title %}{% endblock %} 是期望被替换掉的部分,title可以自定义成你想要的名字。
同目录内,创建内容文件 content.html 如下:

{% extends "base.html" %}
{% block title %}Index{% endblock %}

第1行,其引用上述base.html作为模板,第2行,使用文本Index替换掉原文中的 Block title
同目录内,编写 Python 程序如下:

# -*- coding: utf-8 -*-
from jinja2 import Environment, FileSystemLoader
env = Environment(loader=FileSystemLoader('./'))
template = env.get_template('content.html')
with open("result.html",'w+') as fout:   
    html_content = template.render()
    fout.write(html_content)

执行,生成文件result.html如下:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Index</title>
    </head>
    <body>
    </body>
</html>

完毕。
更多使用方法可参考 Jinja2 文档