码迷,mamicode.com
首页 > 其他好文 > 详细

flask之模板

时间:2018-05-01 12:38:58      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:methods   --   字符串   后端   glob   一个   style   body   response   

1.每一个模板中都可以调用的函数

@app.template_global()
def ad(a1,a2):
    """
    每个模板中可以调用的函数
    :param a1:
    :param a2:
    :return:
    """
    return a1+a2

2.为了防止xss攻击,加了验证,页面上显示的是字符串的形式,我们不想让他这样显示,所以有两种方式

方式一:在后端导入Markup

from flask import Flask,render_template,redirect,jsonify,make_response,Markup
def gen_input(value):
    return Markup("<input value=‘%s‘/>" %value)

方式二:

在前端加|safe

   <h1>{{k5(99)|safe}}</h1>

3.模板继承

和django的一样,extends

4.举例

s1.py

from flask import Flask,render_template,redirect,jsonify,make_response,Markup

app = Flask(__name__)

@app.template_global()
def ad(a1,a2):
    """
    每个模板中可以调用的函数
    :param a1:
    :param a2:
    :return:
    """
    return a1+a2


def gen_input(value):
    # return Markup("<input value=‘%s‘/>" %value)
    return "<input value=‘%s‘/>" %value
@app.route(/index,methods=[GET,POST])
def index():
    context = {
        k1:123,
        k2:[11,22,33],
        k3:{name:oldboy,age:73},
        k4:lambda x:x+1,
        k5:gen_input,

    }
    return render_template(index.html,**context)


@app.route(/x2,methods=[GET,POST])
def order():
    context = {
        k1:123,
        k2:[11,22,33],

    }
    return render_template(order.html,**context)

if __name__ == __main__:
    app.run()

templates

  layout.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div>头部</div>
<div>
    {% block content%}
    {% endblock%}
</div>
<div>底部</div>
</body>
</html>

index.html

{% extends layout.html%}
{% block content%}
   <h1>{{k1}}</h1>
   <h1>{{k2.0}} {{k2[1]}}</h1>
   <h1>{{k3.name}} {{k3[age]}} {{k3.get(name,888)}} </h1>
   <h1>{{k4(66)}}  </h1>
   <!--<h1>{{k5(99)}}  </h1>-->

   <h1>{{ad(1,2)}}  </h1>

{% endblock %}

order.html

{% extends layout.html%}
{% block content%}
 <h1>{{ad(1,2)}}  </h1>
{% endblock %}

 

flask之模板

标签:methods   --   字符串   后端   glob   一个   style   body   response   

原文地址:https://www.cnblogs.com/1996-11-01-614lb/p/8975787.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!