📅  最后修改于: 2023-12-03 14:43:06.530000             🧑  作者: Mango
Jinja是目前广泛使用的Python模板引擎,可以用于生成HTML、XML、JSON、Markdown等各种文本格式的静态文件。本篇介绍如何使用Jinja将模板渲染到文件中。
1.安装Jinja
pip install Jinja2
2.编写模板文件
<!-- index.html -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>{{title}}</title>
</head>
<body>
<h1>{{content}}</h1>
</body>
</html>
3.编写渲染脚本
# render.py
from jinja2 import Environment, FileSystemLoader, select_autoescape
def render_template(template_name: str, context: dict, output_file: str) -> None:
env = Environment(
loader=FileSystemLoader("./templates"),
autoescape=select_autoescape(['html', 'xml'])
)
template = env.get_template(template_name)
result = template.render(context)
with open(output_file, "w") as f:
f.write(result)
4.运行渲染脚本
# main.py
from render import render_template
context = {"title": "Hello, World!", "content": "Welcome to my blog!"}
render_template("index.html", context, "output.html")
运行后,将会在当前目录下生成一个名为"output.html"的文件,其内容为:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Hello, World!</title>
</head>
<body>
<h1>Welcome to my blog!</h1>
</body>
</html>
至此,Jinja渲染模板到文件的步骤已完成。
Jinja提供了丰富的模板语法和内置函数,可用于生成各种格式的文本文件。使用Jinja的好处是可以将代码和数据分离,提高代码的可维护性和复用性。