【python学习】Flask4--学习模板templates的使用(跟jrender很类似)

本文介绍了Flask中使用Jinja2模板的步骤,包括模板文件的层级关系、模板文件的创建、后台代码编写以及模板引擎的语法。通过示例展示了如何在Flask应用中渲染模板,并利用{{ ... }}和{% ... %}进行数据插入和控制流操作,强调了模板引擎在逻辑处理与页面渲染分离中的作用。

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

接触过jrender的人都会很容易上手这种模板模式的(没接触的我觉得看完本章就会懂了)。废话不多说,继续讲

1、先看模板文件跟需要运行的.py文件的层级关系:

flask_demo.py于模板文件templates文件夹应当在同一层级,要不会报错:notFound

2、编辑模板文件,不需要body体及html体等,直接编辑需要的代码段:

<!doctype html>
这个是模板文件,有点像jrender中的模板定义一样。你好啊,{{name}}!你的密码是:{{pw}}

就两行,保存该文件放到templates文件夹下就别管这个文件了。

3、编写后台代码:

# jinja2模板定义
@app.route('/temp/', methods=['POST'])
def use_template():
    if request.values.get('nm') is not '':
        return render_template('hello.html', name=request.values.get('nm') \
                               , pw=request.values.get('pw'))

来看这段代码,没啥,主要注意一下,上面要先导入render_template这个模块,然后就可以编写主要逻辑代码了,主要是,render_template()方法,中要指定需要渲染的模板,以及后面给模板中的预留部分填值。

前台:

<!DOCTYPE html>
<html>
<head>
	<title>this is a html page</title>
</head>
<body>
	<form action="http://localhost:5000/httpdemo" method="post" >
		<div id="ct">
			姓名:<input type="text" name="nm"/><br>
			密码:<input type="text" name="pw"/><br>
			<input type="submit" name="sb" value="提交" />
		</div>
	</form>
</body>
</html>

就基本表单。以及action要对应后台要处理的方法所绑定的route

4、运行结果截图如下:

Jinja2模板引擎使用以下符号完成从HTML转义。

{% ... %}用于语句

{{ ... }}用于表达式可以打印到模板输出

{# ... #}用于未包含在模板输出中的注释

# ... ##用于行语句

总结:通过模板处理,可以很好地实现逻辑处理与页面渲染分开,易于维护和处理,其余部分自己拓展,包括在模板文件中嵌入表达式、代码块等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值