python 动态调用方法示例
eval() 函数用来执行一个字符串表达式,并返回表达式的值。
def response(request, def_name):
request_method = request.method
try:
if def_name in ['product_update', 'product_update_new', 'product_del','shop_product_bulk','shop_product_add_info']:
rst = eval(def_name)(request)
else:
rst = eval(def_name+'_'+(request_method.lower()))(request)
return JsonResponse({'state': True, 'msg': '成功', 'code': 200, 'data': rst})
except NameError:
return JsonResponse({'state': False, 'msg': '方法或属性不存在', 'code': 500})
except Exception as e:
return JsonResponse({'state': False, 'msg': str(e), 'code': 500})