zoukankan      html  css  js  c++  java
  • 第十一篇 CBV和闪现

    前几篇写的都是FBV

    现在可以了解一下CBV

    CBV

    其实就是把请求方式都写到一个类中

    学过django的一眼应该就明白了

    from flask import Flask, render_template
    from flask import views  # 导入视图模块用于CBV
    
    app = Flask(__name__, static_folder="static")
    
    
    
    # FBV
    @app.route('/')
    def index():
        flash('gang_dan', 'name')
        flash(18, "age")
    
        return "this's index"
    
    
    # CBV
    class LoginClass(views.MethodView):
    
        def get(self):
            return render_template("login.html")
    
        def post(self):
            return "ok"
    
    # 利用源码self.add_url_rule(rule, endpoint, f, **options)可得以下写法
    app.add_url_rule("/login", view_func=LoginClass.as_view("login"))
    
    app.run(debug=True, host="127.0.0.1", port="9000")

    闪现 flush

    from flask import Flask, render_template
    from flask import flash, get_flashed_messages  # flash设置 和取flash值
    from flask import views  # 导入视图模块
    
    app = Flask(__name__, static_folder="static")
    app.secret_key = 'guan_ta_shi_sha_key'  # 使用flash需要设置session  不然报错。。。
    
    
    # FBV
    @app.route('/')
    def index():
        flash('gang_dan', 'name')
        flash(18, "age")
    
        return "this's index"
    
    
    # CBV
    class LoginClass(views.MethodView):
    
        def get(self):
            print(get_flashed_messages("name"))  # 取出所有键值对
            # [('name', 'gang_dan'), ('age', 18)]
            print(get_flashed_messages("age"))  # 取出所有键值对
            # [('name', 'gang_dan'), ('age', 18)]
            print(get_flashed_messages())  # 取出所有的key
            # ['gang_dan', 18]
            return render_template("login.html")
    
        def post(self):
            return "ok"
    
    
    app.add_url_rule("/login", view_func=LoginClass.as_view("login"))
    
    app.run(debug=True, host="127.0.0.1", port="9000")

    先访问一次路由 ‘/’  写入flash,等着再访问 "/login"  获取值后 falsh就没了

    再访问下 "/login" 后  发现打印的全是空列表

  • 相关阅读:
    第一章初识java
    初识jQuery
    初识jQuery的案例
    jdk的安装与环境变量的配置
    第六章连接和分组查询
    第五章模糊查询和聚合函数
    第四章数据查询基础
    第三章用sql语句操作数据
    第二章用表组织数据
    第一章数据库系统基础
  • 原文地址:https://www.cnblogs.com/clbao/p/10139109.html
Copyright © 2011-2022 走看看