微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

【Flask的CBV用法】

原文: 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] 举报,一经查实,本站将立刻删除。

相关推荐