flask之jinja2中使用字典、列表、方法等变量

来源:互联网 发布:好老师淘宝店金蛇狂舞 编辑:程序博客网 时间:2024/06/05 04:27

在jinja2模板中使用{{name}}结构表示一个变量,它是一种特殊的占位符,告诉模板引擎这个位置的值从渲染模板时使用的数据中获取
test.py

# -*- coding:utf-8 -*-__author__ = 'guoqianqian'from flask import Flaskfrom flask_script import Managerfrom flask import render_templateapp = Flask(__name__)manager = Manager(app)class MyClass:    def func(self):        return "func"def ord_func():    return "Ordinary function"@app.route("/")def index():    mydict = {}    mydict["type"]= "dict"    mylist = []    mylist.append("list")    myclass = MyClass()    return render_template("index.html", mydict=mydict, mylist=mylist, myclass=myclass, myfunc = ord_func)if __name__ == "__main__":    manager.run()

index.py

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>jinjia2模板测试</title></head><body>    <h1>使用字典变量:{{mydict["type"]}}</h1>    <h1>使用列表变量:{{mylist[0]}}</h1>    <h1>使用普通函数变量:{{mylist[0]}}</h1>    <h1>使用普通函数变量:{{myfunc()}}</h1>    <h1>使用使用类方法变量:{{myclass.func()}}</h1></body></html>

结果

使用字典变量:dict使用列表变量:list使用普通函数变量:list使用普通函数变量:Ordinary function使用使用类方法变量:func