Переглянути джерело

修复外部调用返回中文编码问题,在setting中启用corsheaders

Scott 2 роки тому
батько
коміт
470884a4cb
2 змінених файлів з 8 додано та 8 видалено
  1. 2 2
      idcard/views/idcard_reader.py
  2. 6 6
      idcard_reader_service/settings.py

+ 2 - 2
idcard/views/idcard_reader.py

@@ -33,7 +33,7 @@ def read_idcard(request):
         response['code'] = '-1'
         response['msg'] = id_car_info['error']
         response['rows'] = [{'total': 0, 'data': []}]
-        return JsonResponse(response)
+        return JsonResponse(response, json_dumps_params={'ensure_ascii':False})
 
     # name, id_no = id_car_info['name'], id_car_info['id_no']
     # data['name'] = name
@@ -53,5 +53,5 @@ def read_idcard(request):
     response['code'] = '0'
     response['msg'] = '成功'
     response['rows'] = [{'total': 1, 'data': data}]
-    return JsonResponse(response)
+    return JsonResponse(response, json_dumps_params={'ensure_ascii':False})
 

+ 6 - 6
idcard_reader_service/settings.py

@@ -41,21 +41,21 @@ INSTALLED_APPS = [
     'django.contrib.messages',
     'django.contrib.staticfiles',
     # CORS 处理跨域
-    # 'corsheaders',
-    # # 身份证读取app
-    # 'idcard',
+    'corsheaders',
+    # 身份证读取app
+    'idcard',
 ]
 
 MIDDLEWARE = [
     'django.middleware.security.SecurityMiddleware',
     'django.contrib.sessions.middleware.SessionMiddleware',
+    # CORS 处理跨域,必须是高优先级
+    'corsheaders.middleware.CorsMiddleware',
     'django.middleware.common.CommonMiddleware',
-    # 'django.middleware.csrf.CsrfViewMiddleware',
+    # 'django.middleware.common.CommonMiddleware',
     'django.contrib.auth.middleware.AuthenticationMiddleware',
     'django.contrib.messages.middleware.MessageMiddleware',
     'django.middleware.clickjacking.XFrameOptionsMiddleware',
-    # CORS 处理跨域
-    # 'corsheaders.middleware.CorsMiddleware',
 ]
 
 ROOT_URLCONF = 'idcard_reader_service.urls'