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
无所成,但至少努力过
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:django之定义统一返回数据格式与GET/POST装饰器 - Python技术站