1. 為了返回給網頁前端的格式統一,定義一個通用的插件類,返回統一格式數據
# enconding:utf-8
"""
定義一個插件類,
"""
from django.http import JsonResponse,HttpResponse
# 自定義狀態碼
class HttpCode(object):
# 正常登陸
ok = 200
# 參數錯誤
paramserror = 400
# 權限錯誤
unauth = 401
# 方法錯誤
methoderror = 405
# 服務器內部錯誤
servererror = 500
# 定義統一的 json 字符串返回格式
def result(code=HttpCode.ok, message="", data=None, kwargs=None):
json_dict = {"code": code, "message": message, "data": data}
# isinstance(object對象, 類型):判斷是否數據xx類型
if kwargs and isinstance(kwargs, dict) and kwargs.keys():
json_dict.update(kwargs)
return JsonResponse(json_dict)
def ok():
return result()
# 參數錯誤
def params_error(message="", data=None):
return result(code=HttpCode.paramserror, message=message, data=data)
# 權限錯誤
def unauth(message="", data=None):
return result(code=HttpCode.unauth, message=message, data=data)
# 方法錯誤
def method_error(message="", data=None):
return result(code=HttpCode.methoderror, message=message, data=data)
# 服務器內部錯誤
def server_error(message="", data=None):
return result(code=HttpCode.servererror, message=message, data=data)
2. GET/POST裝飾器
作用:限制視圖函數的請求類型
#導入模塊: from django.views.decorators.http import require_POST, require_GET #例: @require_POST #只允許POST請求 def index(request): pass @require_GET #只允許GET請求 def cms(request): pass
無所成,但至少努力過
