1. 程式人生 > >python Flask框架CBV檢視

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)