用flask开发个人博客(9)—— Jinja2模板中的变量

        Jinja2模板有自己的逻辑和变量, 在上一文介绍过的user.html中的 {{ name }} 就是一个变量,它可以被理解成为一种特殊的占位符,告诉模板引擎这个位置的值从渲染模板时使用的数据中获取。在模板中基本可以识别所有数据类型的变量:整形,浮点型,元组,list,甚至是一些自定义的复杂的类型。

param.html:

<p>A value from a dictionnary:{{mydict['key']}}</p>
<p>A value from a list:{{mylist[2]}}</p>
<p>A value from a list with variable index:{{mylist[myintvar]}}</p>
<p>A value from an object's method:{{myobj.getname()}}</p>

第一行表示字典类型的数据,第二行表示列表或者元组类型的数据,第三行表示索引为变量的列表或者元组类型的数据,第四行表示类中定义的方法。

        我们在test.py中这么进行渲染:

from flask import Flask
from flask import render_template


class Myobj(object):
    def __init__(self,name):
        self.name=name

    def getname(self):
        return self.name
app=Flask(__name__)

@app.route('/')
def index():
    mydict={'key1':'123','key':'hello'}
    mylist=(123,234,345,789)
    myintvar=0
    myobj=Myobj('Hyman')
    return render_template('param.html',mydict=mydict,mylist=mylist,myintvar=0,myobj=myobj)

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

运行效果:


        在使用变量时,我们还可以给变量添加过滤器,以达到不同的效果,如给变量的数据首字母大写:

{{ name|capitalize }}

        把变量的值改成大写形式:

{{ name|upper }}

等等。。。



Github位置:
https://github.com/HymanLiuTS/flaskTs

克隆本项目:
git clone git@github.com:HymanLiuTS/flaskTs.git
获取本文源代码:
git checkout FL09
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值