• python Flask框架CBV视图


    1.演示之前需要先写一个装饰器

    # 装饰器
    def wrapper(func):
        def inner(*args, **kwargs):
            print('操作函数%s之前' % func.__name__)
            ret = func(*args, **kwargs)
            print('操作函数%s之后' % func.__name__)
            return func.__name__
        return inner

    2.写一个CBV的例子

    # 导入模块
    from flask import Flask, views, url_for
    app = Flask(__name__)
    # 首页视图函数
    @app.route("/")
    def index():
        return "this is index page !"
    # 登录视图类,继承MethodView
    class Login(views.MethodView):
        # 允许访问方式
        methods = ["GET", "POST"]
        # 路由装饰器,如有多个,列表方式展示
        # 顺序:列表从头到尾,装饰由内向外,一一对应
        decorators = [wrapper, ]
    
        # 处理GET请求
        def get(self):
            print(url_for("my_login"))
            return 'this is login page !'
        # 处理POST请求
        def post(self):
            return "Successful!"
    # 文章视图类,继承MethodView
    class Articles(views.MethodView):
        methods = ["GET", "POST"]
        decorators = [wrapper, ]
    
        # 处理文章GET请求
        def get(self):
            print(url_for('articles'))
            return 'this is articles list !'
    
        # 处理文章POST请求
        def post(self):
            return "Add Successful !"
    # 登录页面
    app.add_url_rule("/login", endpoint=None, view_func=Login.as_view("my_login"))
    # 文章页面
    app.add_url_rule("/articles", endpoint=None, view_func=Articles.as_view("articles"))
    if __name__ == '__main__':
        app.run('127.0.0.1', 5005, debug=True)
  • 相关阅读:
    升级salt导致进程kill问题记录
    记一次centos6升级salt-minion启动失败的问题
    3.ElasticSearch的倒排索引
    4.ElasticSearch的基本api操作
    1.ElasticSearch介绍及基本概念
    10.openldap备份与恢复
    1.Python3.6环境部署
    8.openldap mirrormode(主主同步)
    7.openldap使用ssl加密认证
    Python json解析
  • 原文地址:https://www.cnblogs.com/apollo1616/p/10266494.html
Copyright © 2020-2023  润新知