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

flask模板语法

时间:2021-02-02 11:28:57      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:utf-8   port   char   inpu   set   传递   safe   type   定义函数   

引子:

  flask模板语言通过插件 jinja2 来支持,使用方法和django基本一致

代码:

  python代码

# -*- coding: utf-8 -*-


from flask import Flask,render_template,Markup

app=Flask(__name__)

"""
传递函数
"""
def fun1(arg):
    return arg

def fun2(args):
    return ‘<input type="text" value="%s">‘%(args)

def fun3(args):
    """
    后端允许转义
    :param args:
    :return:
    """
    return Markup(‘<input type="text" value="%s">‘%(args))

@app.route(‘/‘)
def index():
    return render_template("temple_demo.html",ff=fun1)

@app.route(‘/home‘)
def home():
    """
    发送字符串类型的 html 标签
    :return:
    """
    return render_template("homd_demo.html",kk=fun2)

@app.route("/mark")
def markup_demo():
    """
    后台 转义
    :return:
    """
    return render_template("mark_demo.html",xxx=fun3)

@app.route(‘/macro‘)
def macro_demo():
    """
    宏定义
    :return:
    """
    return render_template("macro_demo.html")

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

  

temple_demo.html 
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">

    <script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
</head>
<body>
<h1>jinja2模板语言 类似django  但是个人感觉比django 的更好一点 更加亲近python的原生语法</h1>
    <h1>{{ ff(nimei) }}  </h1>
<script>
</script>
</body>
</html>

  

homd_demo.html
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">

    <script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
</head>
<body>

    <h1> {{ kk("nimei")|safe }}======safe 的html 代码</h1>
    <h1>和django 一样  通过safe 允许转义</h1>

    <h1>{{ kk("aoteman") }}=======没有safe的</h1>

<script>
</script>
</body>
</html>

  

mark_demo.html
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">

    <script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
</head>
<body>
        后台转义  Markup
        {{ xxx("蓝色的大螃蟹") }}

<script>
</script>
</body>
</html>

  

macro_demo.html 宏定义 在django 中没有 jinja2支持的
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">

    <script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
</head>
<body>

    <h1>宏定义  django中没有 </h1>
    <h1>使用关键字 macro 定义函数 然后下方调用 当成普通函数既可以</h1>
    {% macro func(name,type=‘text‘,vlaue=‘‘) %}
        <input type="{{ type }}" name="{{ name }}1" value="{{ vlaue }}" >
        <input type="{{ type }}" name="{{ name }}11" value="{{ vlaue }}" >
        <input type="{{ type }}" name="{{ name }}111" value="{{ vlaue }}" >
        <input type="{{ type }}" name="{{ name }}1111" value="{{ vlaue }}" >
    {% endmacro %}

    {{ func("n") }}

<script>
</script>
</body>
</html>

  

flask模板语法

标签:utf-8   port   char   inpu   set   传递   safe   type   定义函数   

原文地址:https://www.cnblogs.com/yuan-x/p/14359459.html

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