Flask的CBV用法 -- 2019-08-08 18:01:46
Posted gqy02
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flask的CBV用法 -- 2019-08-08 18:01:46相关的知识,希望对你有一定的参考价值。
原文: 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/
以上是关于Flask的CBV用法 -- 2019-08-08 18:01:46的主要内容,如果未能解决你的问题,请参考以下文章
Flask之Flask-SQLAlchemy -- 2019-08-08 20:40:00