python Flask框架CBV檢視
阿新 • • 發佈:2019-01-14
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)