原文: http://106.13.73.98/__/118/
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://106.13.73.98/__/118/
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。