from django.conf import settings from django.http import JsonResponse def json_response(json_dict): response = JsonResponse(json_dict) if settings.DEBUG: response["Access-Control-Allow-Origin"] = "*" response["Access-Control-Allow-Methods"] = "GET,POST,PUT,DELETE,OPTIONS" response["Access-Control-Allow-Headers"] = "Access-Control-Allow-Methods,Origin, Accept,Content-Type, Access-Control-Allow-Origin, access-control-allow-headers,Authorization, X-Requested-With" return response class GlobalReturnClass(object): def __init__(self, info_dict): if isinstance(info_dict, dict): self.CODE = info_dict.get('code') self.MSG = info_dict.get('msg') else: self.CODE = 1000 self.MSG = '' def global_error_response(data=None, msg=None, status_info=None): if status_info: response_dict = { 'code': GlobalReturnClass(status_info).CODE, 'msg': GlobalReturnClass(status_info).MSG, 'data': data if data else '' } else: response_dict = { 'code': 1001, 'msg': msg if msg else '', 'data': data if data else '' } return JsonResponse(response_dict) def global_success_response(data=None, msg=None, status_info=None): if status_info: response_dict = { 'code': GlobalReturnClass(status_info).CODE, 'msg': GlobalReturnClass(status_info).MSG, 'data': data if data else '' } else: response_dict = { 'code': 1000, 'msg': msg if msg else '', 'data': data if data else '' } return JsonResponse(response_dict) GIFT_DATE_NOT_SUITABLE = dict(code=1002, msg='礼包时间范围与其他礼包冲突') USER_DOESNOT_EXIST = dict(code=1003, msg='用户不存在') GIFT_DOSENOT_SUITABLE_USER = dict(code=1004, msg='该礼包不适用该用户') GIFT_IS_EXPIRED = dict(code=1005, msg='礼包已过期') USER_NOT_RECEIVE_GIFT = dict(code=1006, msg='用户未领取') other版本: import simplejson import logging from django.http import JsonResponse from core.constants import AJAX_SUCCESS_CODE from django.conf import settings logger = logging.getLogger(__name__) def code_msg_error_dict(code_msg_error): return { "data": [], "msg": code_msg_error.message, "code": code_msg_error.code } def json_response(json_dict, status=200): response = JsonResponse(json_dict, status=status) if settings.DEBUG: response["Access-Control-Allow-Origin"] = "*" return response def code_msg_error_response(code_msg_error, status=200): return JsonResponse(code_msg_error_dict(code_msg_error), status=status) def code_msg_success_response(resp_dict=None): if not resp_dict: resp_dict = {} resp_dict['data'] = {} resp_dict['code'] = AJAX_SUCCESS_CODE resp_dict['msg'] = '' return json_response(resp_dict) def msg_response(msg=u"", status=400, error_code=3006): """返回一条简单地消息 """ return json_response({ "code": error_code, "msg": msg }, status=status) def load_json_dict(json_string): try: result_dict = simplejson.loads(json_string) except Exception as e: logger.error(u'JSON数据读取错误. json_string: {}, ' u'Exception: {}'.format(json_string, e)) return None if not isinstance(result_dict, dict): logger.error(u'JSON数据读取错误。结果不是一个dict。') return None else: return result_dict
浙公网安备 33010602011771号