flask框架中的Jinja2模板引擎

  简介
在flask框架中通常使用Jinja2模板引擎来实现复杂页面的渲染。
本章主要介绍Jinja2模板引擎的基本结构和使用方法。

  • 如何使用flask框架渲染模板
  • 在模板中传递一个或者多个参数
  • if语句在模板中的运用
  • for语句在模板中的使用
    模板的实质上是一个静态包含HTML语法的全部或者片段的文本,也可包含由变量表示的动态部分

from flask import Flask  # 导入flask框架模板from flask import render_template#导入render_template模块

app = Flask(__name__)  # flask实例化@app.route('/')  # 定义路由def index():  # 定义试图函数

    return render_template('index.html')  # 返回值,使用render_template方法渲染模板@app.route('/user/<username>')  # 定义路由,传递的参数名是<username>,需要在函数的形参中定义同名的参数def user(username):#定义视图函数

    return render_template('user.html')  # 渲染if __name__ == '__main__':  # 运行

    app.run(debug=True)

注意:在templelates的文件下创建index.html和user.html,加载并且自行测试渲染。flask框架是通过render_template()函数来实现模板的渲染,要使用Jinja2模板引擎,需要使用from flask render_template命令导入render_template函数。
向模板中传递参数
flask 提供Jinja2模板来渲染模板的同时,还可以将程序中的参数或变量传递到指定的模板进行渲染
inde.html(值写出了不同的部分)

<title>这是首页<\title>

<h1>首页中的文字<\h1>

user.html

<title>这是用户中心<\title>

<h1>欢迎您:{ {name}}<\h1>

app.py

from flask import Flask  # 导入flask框架模板from flask import render_template#导入render_template模块

app = Flask(__name__)  # flask实例化@app.route('/')  # 定义路由def index():  # 定义试图函数

    return render_template('index.html')  # 返回值,使用render_template方法渲染模板@app.route('/user/<username>')  # 定义路由,传递的参数名是<username>,需要在函数的形参中定义同名的参数def user(username):#定义视图函数

    return render_template('user.html',name=username)  # 渲染if __name__ == '__main__':  # 运行

    app.run(debug=True)#render_template()函数第一个参数是指定模板文件的名称,第二个参数一般用于传递变量。

模板中接收变量值,需要把变量值放在{ {}},如{ {val}}等。模板中如果要写注释的话个格式为{##}{#br表示的是回车}
如果视图函数中有多个变量值,都需要传递给模板,可以使用**locals()方法。

def index():

    #return render_template('index.html')

    title='python键值对'#定义键值

    author='tom_jack'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值