Jinjia2模板控制语句

本文介绍了Jinja2模板引擎的基础用法,包括装载方式、变量和注释的使用,重点讲解了if和for控制语句的加载,并通过Python代码示例展示了如何在模板中应用这些控制结构。同时,还探讨了如何在模板间传递参数。
摘要由CSDN通过智能技术生成

Jinjia2

Jinjia2是基于python的一个引擎,Flask使用jinja2作为框架的模板系统。

1.Jinjia2中的装载方式

在Jinjia2中{ { 变量名 }}用来装载变量,模板渲染的时候,会把这个变量代表的值替换掉。并且可以间接访问一个变量的属性或者一个字典的key。关于点.号访问和[]中括号访问,没有任何区别,都可以访问属性和字典的值。

在Jinjia2中{% 控制语句 %}用来装载一个控制语句,例如if语句、for循环语句等。

在Jinjia2中{# 注释 #}用来装载一个注释,模板渲染的时候会忽视这中间的值。

2.变量和注释的装载

我们如果需要在导入的html文件中装载python文件中的变量,就需要首先对变量进行渲染,再通过{ { 变量名 }}的方式在html页面中装载,例如,我们新建一个app.py实例文件,并写入以下代码,

from flask import Flask, render_template

app = Flask(__name__)


@app.route('/variables/')
def variables():
    contest = {
   
        'name': 'wangdaye',
        'age': 75,
        'country': 'China',
        'children': {
   
            'name': 'yuqian',
            'age': 48,
        }
    }  # contest为要渲染的内容
    return render_template('variables.html', **contest)  # 第二个参数为对contest字典进行渲染


if __name__ == '__main__':
    app.run(debug=True, host='0.0.0.0', port=8080)

我们再新建一个variables.html文件,代码如下,

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>变量的装载</title>
</head>
<body>
<p>{
   {
    name }}</p>  // 通过{
   { name }}将contest中的name键对应的值装载进来
{
   # 通过{
   {
    name }}将contest中的name键对应的值装载进来 #}  // 这是注释
<p>{
   {
    age }}</p>
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值