【Flask】FlaskWeb开发上手点滴(02)-模板

本文介绍如何在Flask框架中使用Jinja2模板引擎进行动态内容展示,包括渲染基本模板及使用变量过滤器的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

⭐️ 本文首发自 前端修罗场(点击加入),是一个由 资深开发者 独立运行 的专业技术社区,我专注 Web 技术、Web3、区块链、答疑解惑、面试辅导以及职业发展博主创作的 《Web3 实战教程》(点击订阅),已经帮助许多开发者成功铸造 NFT,内容浅显易懂,能够快速对 Web3 相关概念有一个总体认识!

模板是一个包含响应的文本的文件,期中包含用占位变量表示的动态部分,其具体值只在请求的上下文中才能知道。使用真实替换变量,再返回最终得到的响应字符串,这一过程称为“渲染”。
在Falsk中使用Jinja2这个模板引擎。

2.1 jinja2模板引擎

2.1.1渲染模板

默认情况下,Falsk在程序/项目的文件夹中的templates子文件夹中寻找模板。我们可以将定义好的模板保存在这个文件夹中。
现在我们改造下“01讲中的首例”:

from flask import Flask,render_template
from flask import request
app = Flask(__name__)
@app.route('/')
def index():
    user_agent=request.headers.get('User-Agent')
return render_template('index.html',user_agent=user_agent)
@app.route('/user/<name>')
def hello_world(name):
return render_template('user.html',name=name)
if __name__ == '__main__':
app.run(debug=True)

然后分别在templates文件夹下新建两个文件index.html和user.html,
这里写图片描述
内容分别如下:

#index.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <p>欢迎您!您的浏览器是:{{user_agent}}</p>
</body>
</html>
#user.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <h1 style="color: coral">Hello {{name}}</h1>
</body>
</html>

从这里我们可以看到:Falsk提供render_template函数把jinja2模板引擎集成到了程序中。
render_template函数的第一个参数是模板的文件名。随后的参数都是键值对,表示末班中变量对应的真实值。

2.1.2jinja2变量过滤器

这里写图片描述
注意:很多情况下需要显示变量中存储的HTML代码,这时就需要使用safe过滤器。但是,千万不要在不可信的值上使用safe过滤器,例如用户在表单中输入的文本。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

蟹蟹蟹风流

期望和你分享一杯咖啡

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

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

打赏作者

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

抵扣说明:

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

余额充值