在jinja2模板中使用{{name}}结构表示一个变量,它是一种特殊的占位符,告诉模板引擎这个位置的值从渲染模板时使用的数据中获取
test.py
# -*- coding:utf-8 -*-
__author__ = 'guoqianqian'
from flask import Flask
from flask_script import Manager
from flask import render_template
app = 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