python Flask框架学习——set语句

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)
    
    
  • 结果
    在这里插入图片描述
    使用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>
    
  • 结果
    在这里插入图片描述

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

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

猜你喜欢

转载自blog.csdn.net/weixin_44604586/article/details/109159058