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

在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


<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

你可能感兴趣的:(Python,Web)