Flask教程3:jinja2模板引擎

模板的导入与使用
  • Flask通过render_template来实现模板的渲染,要使用这个方法,我们需要导入from flask import rander_template,模板中注释需放在{# #}

  • 模板的第一个参数为指定的模板文件名称,如自定义的html文件,第二个(及后续)参数为可选项,用于向模板中传递变量。

from flask import Flask,render_template

app = Flask(__name__)

# 给前端模板传参
@app.route("/")
def index():
    data = {
        'name':'张三',
        'age':18,
        'mylist':[1,2,3,4,5,6,7]
    }
    # 以键值对的形式传参给模板index2.html
    # 左边是我们要在前端调用时使用的变量名称(形参:data);
    # 右边是我们给这个变量传的值(实参:字典data);
    return render_template('index2.html',data=data)

if __name__ == '__main__':
    app.run()

前端html模板内需要在双括号{{ }}中使用该变量:
如果想给该变量添加属性便于CSS修改格式,我们可以在变量后添加括号,并在括号内定义class、id等属性 → \rightarrow →点击查看

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
hello world
<br>
<!-- 对传入变量的使用并显示:在双括号内,和python中用法类似 -->
{{ data }}
<br>
{{ data['name'] }}
<br>
{{ data.name }}
<br>
mylist:{{ data.mylist }}
<br>
mylist[1]:{{ data.mylist[1] }}
<br>
count:{{ data.mylist[1]+data.mylist[2] }}
</body>
</html>

在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
首先,你需要安装Jinja2模板引擎。你可以通过以下命令来安装: ``` pip install jinja2 ``` 然后,你可以按照以下步骤创建一个模板: 1. 创建一个模板文件,比如`template.html`,在其中定义需要呈现的数据和模板语法。例如: ```html <!DOCTYPE html> <html> <head> <title>{{ title }}</title> </head> <body> <h1>{{ heading }}</h1> <p>{{ body }}</p> </body> </html> ``` 在这个模板中,我们使用了Jinja2的模板语法,例如`{{ title }}`,`{{ heading }}`和`{{ body }}`等,它们会在模板被呈现时被替换为实际的值。 2. 在Python代码中,你需要导入Jinja2,并且创建一个模板环境。例如: ```python from jinja2 import Environment, FileSystemLoader # 创建一个模板环境 env = Environment(loader=FileSystemLoader('.')) ``` 这里我们使用了`FileSystemLoader`来加载模板文件,`'.'`表示模板文件在当前目录下。 3. 加载模板文件并呈现数据。例如: ```python # 加载模板文件 template = env.get_template('template.html') # 呈现数据 output = template.render(title='My Title', heading='My Heading', body='My Body') # 输出呈现后的HTML print(output) ``` 在这里,我们首先使用`env.get_template`方法加载模板文件,然后使用`template.render`方法呈现数据,并将呈现后的HTML保存在`output`变量中。最后,我们输出呈现后的HTML。 以上就是使用Jinja2模板引擎创建模板的基本步骤。当然,在实际的应用中,你可能需要更复杂的模板和更多的数据,但是基本的原理都是相同的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Cachel wood

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值