第十一篇 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(, "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="")

闪现 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(, "age") return "this's index" # CBV
class LoginClass(views.MethodView): def get(self):
print(get_flashed_messages("name")) # 取出所有键值对
# [('name', 'gang_dan'), ('age', )]
print(get_flashed_messages("age")) # 取出所有键值对
# [('name', 'gang_dan'), ('age', )]
print(get_flashed_messages()) # 取出所有的key
# ['gang_dan', ]
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="")

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

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

上一篇:CSS3_盒阴影_倒影_盒子大小可调


下一篇:ytu 1061: 从三个数中找出最大的数(水题,模板函数练习 + 宏定义练习)