原文: http://blog.gqylpy.com/gqy/343
"很简单的,记住用法就行,直接上代码。
from flask import Flask, views, request, redirect
from flask import flash, get_flashed_messages
# 闪现,与CBV无关,如果只想学习CBV,可忽略它
# flash:存数据 get_flashed_messages:取数据
app = Flask(__name__)
app.secret_key = '密钥' # 使用flash时,需设置密钥
# CBV
class Login(views.MethodView):
# 默认写出来的请求方法都被允许,如果还是想重定制,可使用methods属性来重新定义允许的请求
# methods = ['GET', 'POST']
# 这是CBV的特殊装饰器,按索引顺序执行
# decorators = [is_login, ok_login]
def get(self):
return """
<form method='post'>
<input type='text' name='username'/>
<button>提交</button>
</form>
"""
def post(self):
username = request.form.get('username')
flash(username) # 存数据
return redirect('/home')
# 注册CBV的路由
app.add_url_rule('/login', view_func=Login.as_view('login'))
# app.add_url_rule('/login02', view_func=Login.as_view('login02')) # 一个CBV可以有多条路由
@app.route('/home')
def home():
print(get_flashed_messages('username')) # [('message', 'zyk')]
# 第一次取时,有值;再次刷新页面时就没有了
return 'Thie is home page.'
app.run(debug=True)
"
原文: http://blog.gqylpy.com/gqy/343
原文地址:https://www.cnblogs.com/gqy02/p/11373815.html
时间: 2024-10-31 06:43:16