web專案026-----裝飾器的定義
裝飾器的定義
首先我們思考,我們應該以什麼樣的一個狀態進入到這個介面
肯定不能是直接輸入my.html
我們應該以登陸的狀態進入到這個介面,不登入不能進
我們需要做一個這個功能,驗證使用者是否登陸,如果沒有登陸就跳轉到登陸頁面
我們需要自己定義一個裝飾器
在commons.py中定義我們的裝飾器,因為他和業務邏輯沒有關係,是一個自定義工具,所以我們放到了utils檔案中的commons.py檔案中
我們把user_id儲存到全域性的g物件中,不存也可以,在session中取也行
我們在裝飾器中再匯入一個裝飾器,functools
舉個例子
functools的作用就是保持原函式的屬性
迴歸整體,這就是我們定義的裝飾器
# view_func---被裝飾的函式
def login_required(view_func):
@functools.wraps(view_func)
def wrapper(*args,**kwargs):
# 判斷使用者的登陸狀態,我們用user_id進行判斷
user_id = session.get('user_id')
if user_id is not None:
# 已登陸
g.user_id = user_id
return view_func(*args,**kwargs)
else:
# 未登入
return jsonify(errno=RET.SESSIONERR,errmsg='使用者未登陸')
return wrapper
相關文章
- koa大型web專案中使用路由裝飾器Web路由
- Django 常用的自定義裝飾器Django
- python裝飾器2:類裝飾器Python
- Random 專案總結 -12 定義定時器,繫結事件random定時器事件
- 使用 TypeScript 裝飾器裝飾你的程式碼TypeScript
- Python 裝飾器裝飾類中的方法Python
- Python裝飾器探究——裝飾器引數Python
- OpenHarmony自定義構建函式:@Builder裝飾器函式UI
- 如何定義專案的成功標準?
- web實戰:裝飾表格Web
- JSON定義AS專案介面JSON
- 使用 TypeScript 自定義裝飾器給類的方法增添監聽器 ListenerTypeScript
- 設計模式專題(七)裝飾器模式設計模式
- Javascript裝飾器的妙用JavaScript
- python的裝飾器Python
- JavaScript裝飾器的使用JavaScript
- Javascript 中的裝飾器JavaScript
- JS裝飾器JS
- OpenHarmony定義元件重用樣式:@Styles裝飾器元件
- 使用Typescript封裝一款裝飾器風格的Nodejs Web框架TypeScript封裝NodeJSWeb框架
- 使用 TypeScript 自定義裝飾器給類的屬性增添監聽器 ListenerTypeScript
- IT專案經理是如何定義“成功”的
- Go 專案配置檔案的定義和讀取Go
- 【Flask】路由裝飾器、路徑傳參、自定義路由轉換器Flask路由
- Python中的裝飾器Python
- JavaScript中的裝飾器--DecoratorJavaScript
- Python 裝飾器的理解Python
- 使用Web Component定義自己的專屬網頁元件Web網頁元件
- Python 裝飾器Python
- Python裝飾器Python
- Javascrip—裝飾器(7)Java
- react 理解裝飾器React
- JS 裝飾器解析JS
- decorator(HTML裝飾器)HTML
- 裝飾器 pythonPython
- 裝飾器模式(Decorator)模式
- 裝飾器函式函式
- python的裝飾器@的用法Python