首页 > 代码库 > (七)模板变量

(七)模板变量

服务端代码:

‘‘‘
前面我们在模板中使用的{{ name }} 结构表示一个变量,它是一种特殊的占位符,告诉模

板引擎这个位置的值从渲染模板时使用的数据中获取。

除了单单使用变量之外,我们还可以对变量进行一些额外的操作,譬如,让变量的值全部大写,或者是首字母大写,等等。这种改变变量值的行为叫做过滤器。
‘‘‘

#coding:utf-8
from flask import Flask, render_template
app = Flask(__name__)

class UserModel(object):
    ‘‘‘对象类型‘‘‘
    name = ‘张珊‘
    age = 45
    def __str__(self):
        return "%s-%s" % (self.name, self.age)

@app.route(‘/‘)
def index():
    ‘‘‘访问首页‘‘‘
    var_str = ‘这是后端传过来的一个字符串‘
    var_str_en = ‘this is a string‘
    var_html = "<span style=‘color:#f00;‘>这是一个HTML字符串</span>"
    var_list = [‘name‘,‘1234‘,‘元素3‘]
    var_tuple = ("laowang","tantianran","dengwenqing")
    var_dict = {"key1":"value1","name":"tanzhenxing"}
    var_user = UserModel()
    return render_template("var_index.html",
                           var_str = var_str,
                           var_str_en = var_str_en,
                           var_html = var_html,
                           var_list = var_list,
                           var_tuple = var_tuple,
                           var_dict = var_dict,
                           var_user = var_user
                        )

if __name__ == ‘__main__‘:
    app.run(debug=True)

前端代码:

对应上面后端代码的前端HTML文件(var_index.html)代码:
<!DOCTYPE HTML>
<html>
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>模板变量</title>
    <link rel="stylesheet" type="text/css" href="">
</head>
<body>
    <h1>字符串</h1>
    {{ var_str }} <br />
    <!-- jinjia过滤器 将英文字符串变成大写-->
    {{ var_str_en|upper }} <br />
    <!-- jinjia过滤器 应用HTML语法-->
    {{ var_html|safe }}
    <h1>列表</h1>
    {{ var_list }}
    <h1>元组</h1>
    {{ var_tuple }}
    <h1>字典</h1>
    {{ var_dict }}
    <h1>对象</h1>
    {{ var_user }}
</body>
</html>


本文出自 “Fresh Air Team” 博客,请务必保留此出处http://freshair.blog.51cto.com/8272891/1927419

(七)模板变量