欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python Flask框架学习——set语句

程序员文章站 2022-05-19 10:00:59
...

set语句

定义变量

应用

  • 模板内容
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    
        <p>传入的参数name -> {{ name }}</p>
        {% set name="xxx" %}
        <p>定义name后name的值 -> {{ name }}</p>
    
    </body>
    </html>
    
  • python文件
    from flask import Flask, render_template
    
    app = Flask(__name__)
    
    
    @app.route('/')
    def index():
        content = {
            'name': 'cmy'
        }
        return render_template('index.html', **content)
    
    
    if __name__ == '__main__':
        app.run(debug=True)
    
    
  • 结果
    python Flask框架学习——set语句
    使用set语句定义name变量后,就会覆盖传入的name

with语句

set语句创建的变量在其之后都是有效的,如果不想让一个变量污染全局环境,可以使用with语句来创建一个内部的作用域,将set语句放在其中,这样创建的变量只在with代码块中有效

  • 模板内容
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
        {% with %}
            {% set name="xxx" %}
            <p>局部变量 name -> {{ name }}</p>
        {% endwith %}
    
        <p>传入的参数 name -> {{ name }}</p>
    
    
    </body>
    </html>
    
  • 结果
    python Flask框架学习——set语句

也可以在创建内部作用域的时候创建局部变量

	{% with t = {'name': 'python'} %}
        <p>{{ t.name }}</p>
    {% endwith %}
    {% with t =  [1, 2, 3] %}
        <p>{{ t }}</p>
    {% endwith %}