Эх сурвалжийг харах

欧洲服使用环境变量配置

locky 3 өдөр өмнө
parent
commit
fdb8f0ff07
36 өөрчлөгдсөн 301 нэмэгдсэн , 123 устгасан
  1. 2 0
      .gitignore
  2. 4 2
      AdminController/AlgorithmShopManageController.py
  3. 5 2
      AdminController/DeviceManagementController.py
  4. 4 1
      AdminController/EvaluationActivityController.py
  5. 4 1
      AdminController/LogManagementController.py
  6. 4 2
      AdminController/MessageMangementController.py
  7. 5 2
      AdminController/UserManageController.py
  8. 4 1
      AdminController/VersionManagementController.py
  9. 0 2
      Ansjer/cn_config/config_formal.py
  10. 16 17
      Ansjer/cn_config/config_test.py
  11. 136 14
      Ansjer/cn_config/test_settings.py
  12. 0 3
      Ansjer/config.py
  13. 1 2
      Ansjer/eur_config/config_formal.py
  14. 30 17
      Ansjer/eur_config/formal_settings.py
  15. 2 16
      Ansjer/local_config/config_local.py
  16. 0 2
      Ansjer/pushconfig.py
  17. 1 2
      Ansjer/us_config/config_formal.py
  18. 0 2
      Ansjer/us_config/config_test.py
  19. 4 1
      Controller/AWS/KVSController.py
  20. 5 3
      Controller/AppLogController.py
  21. 4 2
      Controller/CloudPhoto/CloudPhotoController.py
  22. 4 1
      Controller/CloudStorage.py
  23. 4 3
      Controller/Cron/CronCloudPhotoController.py
  24. 5 2
      Controller/Cron/CronTaskController.py
  25. 4 1
      Controller/DetectControllerV2.py
  26. 6 3
      Controller/DeviceLogController.py
  27. 8 5
      Controller/FeedBack.py
  28. 4 1
      Controller/PcInfo.py
  29. 4 2
      Controller/S3GetStsController.py
  30. 7 2
      Controller/TestApi.py
  31. 4 1
      Controller/UserController.py
  32. 4 3
      Controller/UserDevice/UserDeviceShareController.py
  33. 4 1
      Controller/UserManger.py
  34. 4 1
      Object/AWS/S3Email.py
  35. 4 1
      Roomumy/Controller/BabyController.py
  36. 4 2
      Roomumy/Controller/TimeAlbumController.py

+ 2 - 0
.gitignore

@@ -20,3 +20,5 @@
 
 
 /PushModel/
 /PushModel/
 /SerialModel/
 /SerialModel/
+/Roomumy/migrations
+.env

+ 4 - 2
AdminController/AlgorithmShopManageController.py

@@ -18,8 +18,10 @@ from Object.AWS.AmazonS3Util import AmazonS3Util
 from Object.ResponseObject import ResponseObject
 from Object.ResponseObject import ResponseObject
 from Object.TokenObject import TokenObject
 from Object.TokenObject import TokenObject
 
 
-from Ansjer.config import CONFIG_INFO, CONFIG_EUR, CONFIG_US, CONFIG_TEST, CONFIG_CN, AWS_ACCESS_KEY_ID, \
-    AWS_SECRET_ACCESS_KEY, AWS_SES_ACCESS_REGION
+from Ansjer.config import CONFIG_INFO, CONFIG_EUR, CONFIG_US, CONFIG_TEST, CONFIG_CN, AWS_SES_ACCESS_REGION
+from django.conf import settings
+AWS_ACCESS_KEY_ID = settings.AWS_ACCESS_KEY_ID
+AWS_SECRET_ACCESS_KEY = settings.AWS_SECRET_ACCESS_KEY
 
 
 
 
 class AlgorithmShopManageView(View):
 class AlgorithmShopManageView(View):

+ 5 - 2
AdminController/DeviceManagementController.py

@@ -18,8 +18,7 @@ from django.views.generic.base import View
 
 
 from Ansjer.config import LOGGER, SERIAL_DOMAIN_NAME, HUAWEICLOUD_AK, HUAWEICLOUD_SK, HUAWEICLOUD_OBS_SERVER, \
 from Ansjer.config import LOGGER, SERIAL_DOMAIN_NAME, HUAWEICLOUD_AK, HUAWEICLOUD_SK, HUAWEICLOUD_OBS_SERVER, \
     HUAWEICLOUD_BAIDU_BIG_MODEL_LICENSE_BUKET,CONFIG_INFO, CONFIG_TEST, CONFIG_CN, CONFIG_US, CONFIG_EUR
     HUAWEICLOUD_BAIDU_BIG_MODEL_LICENSE_BUKET,CONFIG_INFO, CONFIG_TEST, CONFIG_CN, CONFIG_US, CONFIG_EUR
-from Ansjer.config import OSS_STS_ACCESS_KEY, OSS_STS_ACCESS_SECRET, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, \
-    AWS_SES_ACCESS_REGION
+from Ansjer.config import OSS_STS_ACCESS_KEY, OSS_STS_ACCESS_SECRET, AWS_SES_ACCESS_REGION
 from Ansjer.config import SERVER_DOMAIN_TEST, SERVER_DOMAIN_CN, SERVER_DOMAIN_US, SERVER_DOMAIN_EUR
 from Ansjer.config import SERVER_DOMAIN_TEST, SERVER_DOMAIN_CN, SERVER_DOMAIN_US, SERVER_DOMAIN_EUR
 from Model.models import Device_Info, UidSetModel, LogModel, UID_Bucket, Unused_Uid_Meal, StsCrdModel, \
 from Model.models import Device_Info, UidSetModel, LogModel, UID_Bucket, Unused_Uid_Meal, StsCrdModel, \
     VodHlsModel, ExperienceContextModel, DeviceTypeModel, UidUserModel, ExperienceAiModel, AiService, \
     VodHlsModel, ExperienceContextModel, DeviceTypeModel, UidUserModel, ExperienceAiModel, AiService, \
@@ -36,6 +35,9 @@ from Service.CommonService import CommonService
 from Service.EquipmentInfoService import EquipmentInfoService
 from Service.EquipmentInfoService import EquipmentInfoService
 from Service.ModelService import ModelService
 from Service.ModelService import ModelService
 from Service.VodHlsService import SplitVodHlsObject
 from Service.VodHlsService import SplitVodHlsObject
+from django.conf import settings
+AWS_ACCESS_KEY_ID = settings.AWS_ACCESS_KEY_ID
+AWS_SECRET_ACCESS_KEY = settings.AWS_SECRET_ACCESS_KEY
 
 
 
 
 class DeviceManagement(View):
 class DeviceManagement(View):
@@ -266,6 +268,7 @@ class DeviceManagement(View):
                             device_info_list["datas"][k]['fields']['isAlexa'] = isAlexa
                             device_info_list["datas"][k]['fields']['isAlexa'] = isAlexa
                             device_info_list["datas"][k]['fields']['cloudVod'] = cloud_vod
                             device_info_list["datas"][k]['fields']['cloudVod'] = cloud_vod
                             device_info_list["datas"][k]['fields']['ip'] = uid_set_qs[0]['ip']
                             device_info_list["datas"][k]['fields']['ip'] = uid_set_qs[0]['ip']
+                            device_info_list["datas"][k]['fields']['ucode'] = uid_set_qs[0]['ucode']
                             device_info_list["datas"][k]['fields']['version'] = uid_set_qs[0]['version']
                             device_info_list["datas"][k]['fields']['version'] = uid_set_qs[0]['version']
                         uid_bucket_qs = UID_Bucket.objects.filter(
                         uid_bucket_qs = UID_Bucket.objects.filter(
                             uid=device_info_list["datas"][k]['fields']['UID']).values('status')
                             uid=device_info_list["datas"][k]['fields']['UID']).values('status')

+ 4 - 1
AdminController/EvaluationActivityController.py

@@ -12,8 +12,11 @@ from Object.ResponseObject import ResponseObject
 from Object.TokenObject import TokenObject
 from Object.TokenObject import TokenObject
 from Ansjer.config import SERVER_DOMAIN, LOGGER, HUAWEICLOUD_AK, HUAWEICLOUD_SK, HUAWEICLOUD_OBS_SERVER, \
 from Ansjer.config import SERVER_DOMAIN, LOGGER, HUAWEICLOUD_AK, HUAWEICLOUD_SK, HUAWEICLOUD_OBS_SERVER, \
     HUAWEICLOUD_SERVER_BUKET
     HUAWEICLOUD_SERVER_BUKET
-from Ansjer.cn_config.config_formal import SECRET_ACCESS_KEY, ACCESS_KEY_ID, REGION_NAME
+from Ansjer.cn_config.config_formal import REGION_NAME
 from django.db import transaction
 from django.db import transaction
+from django.conf import settings
+ACCESS_KEY_ID = settings.ACCESS_KEY_ID
+SECRET_ACCESS_KEY = settings.SECRET_ACCESS_KEY
 
 
 
 
 class EvaluationActivityView(View):
 class EvaluationActivityView(View):

+ 4 - 1
AdminController/LogManagementController.py

@@ -13,7 +13,10 @@ from Service.CommonService import CommonService
 from Model.models import Device_Info, RequestRecordModel, iotdeviceInfoModel, Access_Log, DeviceLogModel, LogModel, \
 from Model.models import Device_Info, RequestRecordModel, iotdeviceInfoModel, Access_Log, DeviceLogModel, LogModel, \
     AppLogModel, AppScannedSerial, StsFrequency, DeviceDomainRegionModel, IPAddr, CountryModel, RegionModel, \
     AppLogModel, AppScannedSerial, StsFrequency, DeviceDomainRegionModel, IPAddr, CountryModel, RegionModel, \
     AbnormalEvent, DeviceTypeModel, AbnormalEventCode, DeviceScheme, ProductsScheme
     AbnormalEvent, DeviceTypeModel, AbnormalEventCode, DeviceScheme, ProductsScheme
-from Ansjer.config import REGION_NAME, ACCESS_KEY_ID, SECRET_ACCESS_KEY, LOG_BUCKET
+from Ansjer.config import REGION_NAME, LOG_BUCKET
+from django.conf import settings
+ACCESS_KEY_ID = settings.ACCESS_KEY_ID
+SECRET_ACCESS_KEY = settings.SECRET_ACCESS_KEY
 
 
 
 
 class LogManagementView(View):
 class LogManagementView(View):

+ 4 - 2
AdminController/MessageMangementController.py

@@ -11,8 +11,7 @@ from obs import ObsClient
 
 
 from Ansjer.config import CONFIG_EUR, CONFIG_US, HUAWEICLOUD_PUSH_BUKET, HUAWEICLOUD_AK, HUAWEICLOUD_SK, \
 from Ansjer.config import CONFIG_EUR, CONFIG_US, HUAWEICLOUD_PUSH_BUKET, HUAWEICLOUD_AK, HUAWEICLOUD_SK, \
     HUAWEICLOUD_OBS_SERVER
     HUAWEICLOUD_OBS_SERVER
-from Ansjer.config import OSS_STS_ACCESS_KEY, OSS_STS_ACCESS_SECRET, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, \
-    SERVER_TYPE
+from Ansjer.config import OSS_STS_ACCESS_KEY, OSS_STS_ACCESS_SECRET, SERVER_TYPE
 from Controller.DetectControllerV2 import DetectControllerViewV2
 from Controller.DetectControllerV2 import DetectControllerViewV2
 from Model import models
 from Model import models
 from Model.models import Device_Info, VodBucketModel, DeviceTypeModel
 from Model.models import Device_Info, VodBucketModel, DeviceTypeModel
@@ -23,6 +22,9 @@ from Object.TokenObject import TokenObject
 from Object.utils import LocalDateTimeUtil
 from Object.utils import LocalDateTimeUtil
 from Service.EquipmentInfoService import EquipmentInfoService
 from Service.EquipmentInfoService import EquipmentInfoService
 from Service.VodHlsService import SplitVodHlsObject
 from Service.VodHlsService import SplitVodHlsObject
+from django.conf import settings
+AWS_ACCESS_KEY_ID = settings.AWS_ACCESS_KEY_ID
+AWS_SECRET_ACCESS_KEY = settings.AWS_SECRET_ACCESS_KEY
 
 
 
 
 class MassageView(View):
 class MassageView(View):

+ 5 - 2
AdminController/UserManageController.py

@@ -12,8 +12,8 @@ from django.views.decorators.csrf import csrf_exempt
 from django.views.generic import TemplateView
 from django.views.generic import TemplateView
 
 
 from AgentModel.models import AgentCustomerInfo, AgentCustomerCard, AgentCloudServicePackage, AgentCustomerPackage
 from AgentModel.models import AgentCustomerInfo, AgentCustomerCard, AgentCloudServicePackage, AgentCustomerPackage
-from Ansjer.config import SERVER_DOMAIN, OSS_STS_ACCESS_KEY, OSS_STS_ACCESS_SECRET, AWS_ACCESS_KEY_ID, \
-    AWS_SECRET_ACCESS_KEY, AWS_SES_ACCESS_REGION, DETECT_PUSH_DOMAINS
+from Ansjer.config import SERVER_DOMAIN, OSS_STS_ACCESS_KEY, OSS_STS_ACCESS_SECRET, AWS_SES_ACCESS_REGION, \
+    DETECT_PUSH_DOMAINS
 from Controller.CheckUserData import DataValid, RandomStr
 from Controller.CheckUserData import DataValid, RandomStr
 from Model.models import Device_User, Role, UserExModel, CountryModel, MenuModel, FeedBackModel, StatResModel, \
 from Model.models import Device_User, Role, UserExModel, CountryModel, MenuModel, FeedBackModel, StatResModel, \
     SysMassModel, App_Info, SysMsgModel, DeviceSuperPassword, CustomizedPush, DeviceTypeModel, CustomCustomerOrderInfo
     SysMassModel, App_Info, SysMsgModel, DeviceSuperPassword, CustomizedPush, DeviceTypeModel, CustomCustomerOrderInfo
@@ -25,6 +25,9 @@ from Object.TokenObject import TokenObject
 from Service.CommonService import CommonService
 from Service.CommonService import CommonService
 from Service.ModelService import ModelService
 from Service.ModelService import ModelService
 from django.views.generic import View
 from django.views.generic import View
+from django.conf import settings
+AWS_ACCESS_KEY_ID = settings.AWS_ACCESS_KEY_ID
+AWS_SECRET_ACCESS_KEY = settings.AWS_SECRET_ACCESS_KEY
 
 
 
 
 # 登录
 # 登录

+ 4 - 1
AdminController/VersionManagementController.py

@@ -14,7 +14,7 @@ from django.db import transaction
 from django.views.generic.base import View
 from django.views.generic.base import View
 from packaging import version as pacVer
 from packaging import version as pacVer
 
 
-from Ansjer.config import BASE_DIR, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY
+from Ansjer.config import BASE_DIR
 from Ansjer.config import LOGGER, CONFIG_TEST, SERVER_DOMAIN_OTA, CONFIG_CN, CONFIG_INFO
 from Ansjer.config import LOGGER, CONFIG_TEST, SERVER_DOMAIN_OTA, CONFIG_CN, CONFIG_INFO
 from Model.models import Equipment_Version, App_Info, AppSetModel, App_Colophon, Pc_Info, CountryModel, \
 from Model.models import Equipment_Version, App_Info, AppSetModel, App_Colophon, Pc_Info, CountryModel, \
     Device_Info, UidSetModel, Device_User, IPAddr, DeviceVersionInfo, iotdeviceInfoModel
     Device_Info, UidSetModel, Device_User, IPAddr, DeviceVersionInfo, iotdeviceInfoModel
@@ -23,6 +23,9 @@ from Object.ResponseObject import ResponseObject
 from Object.TokenObject import TokenObject
 from Object.TokenObject import TokenObject
 from Object.UrlTokenObject import UrlTokenObject
 from Object.UrlTokenObject import UrlTokenObject
 from Service.CommonService import CommonService
 from Service.CommonService import CommonService
+from django.conf import settings
+AWS_ACCESS_KEY_ID = settings.AWS_ACCESS_KEY_ID
+AWS_SECRET_ACCESS_KEY = settings.AWS_SECRET_ACCESS_KEY
 
 
 
 
 class VersionManagement(View):
 class VersionManagement(View):

+ 0 - 2
Ansjer/cn_config/config_formal.py

@@ -13,8 +13,6 @@ AWS相关
 AWS_ARN_S3 = 'arn:aws-cn:s3'
 AWS_ARN_S3 = 'arn:aws-cn:s3'
 REGION_NAME = 'cn-northwest-1'
 REGION_NAME = 'cn-northwest-1'
 KVS_REGION = 'cn-north-1'
 KVS_REGION = 'cn-north-1'
-ACCESS_KEY_ID = 'AKIA2MMWBR4D3I4YNHSP'
-SECRET_ACCESS_KEY = '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'
 
 
 # 存储桶
 # 存储桶
 PUSH_BUCKET = 'push'                                # 推送存储桶
 PUSH_BUCKET = 'push'                                # 推送存储桶

+ 16 - 17
Ansjer/cn_config/config_test.py

@@ -10,26 +10,25 @@ AWS相关
 """
 """
 # ======================================================================================================================
 # ======================================================================================================================
 # aws api key
 # aws api key
-# AWS_ARN_S3 = 'arn:aws-cn:s3'
-# REGION_NAME = 'cn-northwest-1'
-# ACCESS_KEY_ID = 'AKIA2MMWBR4D3I4YNHSP'
-# SECRET_ACCESS_KEY = '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'
-AWS_ARN_S3 = 'arn:aws:s3'
-REGION_NAME = 'us-east-1'
-REGION_NAME2 = 'us-west-1'
-ACCESS_KEY_ID = 'AKIA2E67UIMD45Y3HL53'
-SECRET_ACCESS_KEY = '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'
+AWS_ARN_S3 = 'arn:aws-cn:s3'
+REGION_NAME = 'cn-northwest-1'
+REGION_NAME2 = 'cn-north-1'
+KVS_REGION = 'cn-north-1'
+
+# AWS_ARN_S3 = 'arn:aws:s3'
+# REGION_NAME = 'us-east-1'
+# REGION_NAME2 = 'us-west-1'
 
 
 # 存储桶
 # 存储桶
-PUSH_BUCKET = 'foreignpush'                                # 推送存储桶
-PUSH_INACCURATE_BUCKET = 'push-inaccurate'          # 推送不准确存储桶
-AVATAR_BUCKET = 'avatar-us'                         # 头像存储桶
-LOG_BUCKET = 'ansjer-statres'                       # 日志存储桶
-PUSH_CLOUD_PHOTO = 'push-cloud-photo'               # 推送云相册存储桶
+PUSH_BUCKET = 'foreignpush'  # 推送存储桶
+PUSH_INACCURATE_BUCKET = 'push-inaccurate'  # 推送不准确存储桶
+AVATAR_BUCKET = 'avatar-us'  # 头像存储桶
+LOG_BUCKET = 'ansjer-statres'  # 日志存储桶
+PUSH_CLOUD_PHOTO = 'push-cloud-photo'  # 推送云相册存储桶
 
 
 # redis节点
 # redis节点
 SERVER_HOST = '127.0.0.1'
 SERVER_HOST = '127.0.0.1'
-PUSH_REDIS_ADDRESS = '127.0.0.1'
+PUSH_REDIS_ADDRESS = 'redis-3fc62615-87dc-45d8-930b-0871651f6453.cn-south-1.dcs.myhuaweicloud.com'
 # ======================================================================================================================
 # ======================================================================================================================
 
 
 # 域名
 # 域名
@@ -38,8 +37,8 @@ SERVER_DOMAIN = 'http://test.zositechc.cn/'
 SERVER_DOMAIN_SSL = 'https://test.zositechc.cn/'
 SERVER_DOMAIN_SSL = 'https://test.zositechc.cn/'
 SERVER_DOMAIN_OTA = 'http://test.ota.zositechc.cn/'
 SERVER_DOMAIN_OTA = 'http://test.ota.zositechc.cn/'
 NGINX_RTMP_STAT = 'http://test.zositechc.cn/stat/'
 NGINX_RTMP_STAT = 'http://test.zositechc.cn/stat/'
-DETECT_PUSH_DOMAIN = 'http://test.push.dvema.com/'
-DETECT_PUSH_DOMAINS = 'https://test.push.dvema.com/'
+DETECT_PUSH_DOMAIN = 'http://test.push.zositechc.cn/'
+DETECT_PUSH_DOMAINS = 'https://test.push.zositechc.cn/'
 DETECT_PUSH_DOMAIN_JIUAN = 'http://jiuan.push.dvema.com/'
 DETECT_PUSH_DOMAIN_JIUAN = 'http://jiuan.push.dvema.com/'
 DETECT_PUSH_DOMAINS_JIUAN = 'https://jiuan.push.dvema.com/'
 DETECT_PUSH_DOMAINS_JIUAN = 'https://jiuan.push.dvema.com/'
 TUTK_PUSH_DOMAIN = 'http://push.iotcplatform.com/tpns'
 TUTK_PUSH_DOMAIN = 'http://push.iotcplatform.com/tpns'

+ 136 - 14
Ansjer/cn_config/test_settings.py

@@ -1,5 +1,18 @@
 import os
 import os
 from Ansjer.config import BASE_DIR
 from Ansjer.config import BASE_DIR
+import environ
+
+env = environ.Env(
+    DEBUG=(bool, False)
+)
+# 读取 .env 文件
+environ.Env.read_env(os.path.join(BASE_DIR, '.env'))
+
+ACCESS_KEY_ID = env('ACCESS_KEY_ID', default='')
+SECRET_ACCESS_KEY = env('SECRET_ACCESS_KEY', default='')
+AWS_ACCESS_KEY_ID = env.list('AWS_ACCESS_KEY_ID', default=[])
+AWS_SECRET_ACCESS_KEY = env.list('AWS_SECRET_ACCESS_KEY', default=[])
+
 
 
 SECRET_KEY = 'c7ki2_gkg4#sjfm-u1%$s#&n#szf01f*v69rwv2qsf#-zmm@tl'
 SECRET_KEY = 'c7ki2_gkg4#sjfm-u1%$s#&n#szf01f*v69rwv2qsf#-zmm@tl'
 DEBUG = True
 DEBUG = True
@@ -19,7 +32,11 @@ INSTALLED_APPS = [
     'imagekit',
     'imagekit',
     'Model',
     'Model',
     'PushModel',
     'PushModel',
-    'django_apscheduler'
+    'django_apscheduler',
+    'AgentModel',
+    'django_celery_beat',
+    'Roomumy',
+    'VodHlsOssModel'
 ]
 ]
 
 
 MIDDLEWARE = [
 MIDDLEWARE = [
@@ -74,16 +91,34 @@ TEMPLATES = [
 WSGI_APPLICATION = 'Ansjer.cn_config.test_wsgi.application'
 WSGI_APPLICATION = 'Ansjer.cn_config.test_wsgi.application'
 
 
 # 业务数据库
 # 业务数据库
-DATABASE_DATA = 'ansjer_server_test'
-SERVER_HOST = '124.70.222.33'
-DATABASES_USER = 'root'
-DATABASES_PASS = 'Ansjer123'
+DATABASE_DATA = env('DATABASE_DATA')
+SERVER_HOST = env('SERVER_HOST')
+DATABASES_USER = env('DATABASES_USER')
+DATABASES_PASS = env('DATABASES_PASS')
 
 
 # 推送数据库
 # 推送数据库
-DATABASE_DATA2 = 'ansjer_push_test'
-SERVER_HOST2 = '124.70.222.33'
-DATABASES_USER2 = 'root'
-DATABASES_PASS2 = 'Ansjer123'
+DATABASE_DATA2 = env('DATABASE_DATA2')
+SERVER_HOST2 = env('SERVER_HOST2')
+DATABASES_USER2 = env('DATABASES_USER2')
+DATABASES_PASS2 = env('DATABASES_PASS2')
+
+# 业务代理客户数据库
+DATABASE_DATA3 = env('DATABASE_DATA3')
+SERVER_HOST3 = env('SERVER_HOST3')
+DATABASES_USER3 = env('DATABASES_USER3')
+DATABASES_PASS3 = env('DATABASES_PASS3')
+
+# 袋鼠妈妈数据库
+DATABASE_DATA4 = env('DATABASE_DATA4')
+SERVER_HOST4 = env('SERVER_HOST4')
+DATABASES_USER4 = env('DATABASES_USER4')
+DATABASES_PASS4 = env('DATABASES_PASS4')
+
+# OSS云存分表数据库
+DATABASE_DATA5 = env('DATABASE_DATA5')
+SERVER_HOST5 = env('SERVER_HOST5')
+DATABASES_USER5 = env('DATABASES_USER5')
+DATABASES_PASS5 = env('DATABASES_PASS5')
 
 
 DATABASES = {
 DATABASES = {
     'default': {
     'default': {
@@ -116,6 +151,51 @@ DATABASES = {
             'init_command': "SET sql_mode='STRICT_TRANS_TABLES'"
             'init_command': "SET sql_mode='STRICT_TRANS_TABLES'"
         }
         }
     },
     },
+    'mysql03': {
+        'ENGINE': 'django.db.backends.mysql',
+        'NAME': DATABASE_DATA3,
+        'USER': DATABASES_USER3,
+        'PASSWORD': DATABASES_PASS3,
+        'HOST': SERVER_HOST3,
+        'PORT': '3306',
+        'AUTOCOMMIT': True,
+        'CONN_MAX_AGE': 60,
+        'OPTIONS': {
+            'charset': 'utf8mb4',
+            'use_unicode': True,
+            'init_command': "SET sql_mode='STRICT_TRANS_TABLES'"
+        }
+    },
+    'mysql04': {
+        'ENGINE': 'django.db.backends.mysql',
+        'NAME': DATABASE_DATA4,
+        'USER': DATABASES_USER4,
+        'PASSWORD': DATABASES_PASS4,
+        'HOST': SERVER_HOST4,
+        'PORT': '3306',
+        'AUTOCOMMIT': True,
+        'CONN_MAX_AGE': 60,
+        'OPTIONS': {
+            'charset': 'utf8mb4',
+            'use_unicode': True,
+            'init_command': "SET sql_mode='STRICT_TRANS_TABLES'"
+        }
+    },
+    'mysql05': {
+        'ENGINE': 'django.db.backends.mysql',
+        'NAME': DATABASE_DATA5,
+        'USER': DATABASES_USER5,
+        'PASSWORD': DATABASES_PASS5,
+        'HOST': SERVER_HOST5,
+        'PORT': '3306',
+        'AUTOCOMMIT': True,
+        'CONN_MAX_AGE': 60,
+        'OPTIONS': {
+            'charset': 'utf8mb4',
+            'use_unicode': True,
+            'init_command': "SET sql_mode='STRICT_TRANS_TABLES'"
+        }
+    },
 }
 }
 
 
 DATABASE_ROUTERS = ['Ansjer.database_router.DatabaseAppsRouter']
 DATABASE_ROUTERS = ['Ansjer.database_router.DatabaseAppsRouter']
@@ -123,6 +203,9 @@ DATABASE_APPS_MAPPING = {
     'Model': 'default',
     'Model': 'default',
     'django_apscheduler': 'default',
     'django_apscheduler': 'default',
     'PushModel': 'mysql02',
     'PushModel': 'mysql02',
+    'AgentModel': 'mysql03',
+    'Roomumy': 'mysql04',
+    'VodHlsOssModel': 'mysql05'
 }
 }
 
 
 AUTH_PASSWORD_VALIDATORS = [
 AUTH_PASSWORD_VALIDATORS = [
@@ -140,6 +223,17 @@ AUTH_PASSWORD_VALIDATORS = [
     },
     },
 ]
 ]
 
 
+# celery配置,需要以CELERY_开头
+# 设置broker
+CELERY_BROKER_URL = 'redis://127.0.0.1:6379/0'
+# 设置结果存储
+CELERY_RESULT_BACKEND = 'redis://127.0.0.1:6379/1'
+
+# 配置定时任务
+CELERY_TIMEZONE = 'Asia/Shanghai'
+DJANGO_CELERY_BEAT_TZ_AWARE = True
+CELERY_BEAT_SCHEDULER = 'django_celery_beat.schedulers:DatabaseScheduler'
+
 LANGUAGE_CODE = 'en-us'
 LANGUAGE_CODE = 'en-us'
 TIME_ZONE = 'Asia/Shanghai'
 TIME_ZONE = 'Asia/Shanghai'
 # TIME_ZONE = 'UTC'
 # TIME_ZONE = 'UTC'
@@ -237,7 +331,7 @@ LOGGING = {
             'level': 'INFO',
             'level': 'INFO',
             'class': 'logging.handlers.RotatingFileHandler',
             'class': 'logging.handlers.RotatingFileHandler',
             'filename': BASE_DIR + '/static/log/info/info.log',
             'filename': BASE_DIR + '/static/log/info/info.log',
-            'backupCount': 10,
+            'backupCount': 3,
             'maxBytes': 1024 * 1024 * 2 * 1024,  # 2G
             'maxBytes': 1024 * 1024 * 2 * 1024,  # 2G
             'formatter': 'standard',
             'formatter': 'standard',
             'encoding': 'utf-8',
             'encoding': 'utf-8',
@@ -246,17 +340,35 @@ LOGGING = {
             'level': 'INFO',
             'level': 'INFO',
             'class': 'logging.handlers.RotatingFileHandler',
             'class': 'logging.handlers.RotatingFileHandler',
             'filename': BASE_DIR + '/static/log/error_code/error_code.log',
             'filename': BASE_DIR + '/static/log/error_code/error_code.log',
-            'backupCount': 10,
+            'backupCount': 3,
+            'maxBytes': 1024 * 1024 * 2 * 1024,  # 2G
+            'formatter': 'standard',
+            'encoding': 'utf-8',
+        },
+        'success_code': {
+            'level': 'INFO',
+            'class': 'logging.handlers.RotatingFileHandler',
+            'filename': BASE_DIR + '/static/log/success_code/success_code.log',
+            'backupCount': 3,
             'maxBytes': 1024 * 1024 * 2 * 1024,  # 2G
             'maxBytes': 1024 * 1024 * 2 * 1024,  # 2G
             'formatter': 'standard',
             'formatter': 'standard',
             'encoding': 'utf-8',
             'encoding': 'utf-8',
         },
         },
         'pay': {
         'pay': {
             'level': 'INFO',
             'level': 'INFO',
-            'class': 'logging.handlers.TimedRotatingFileHandler',
+            'class': 'logging.handlers.RotatingFileHandler',
             'filename': BASE_DIR + '/static/log/pay/info.log',
             'filename': BASE_DIR + '/static/log/pay/info.log',
-            'backupCount': 60,
-            'when': 'D',
+            'backupCount': 3,
+            'maxBytes': 1024 * 1024 * 2 * 1024,  # 2G
+            'formatter': 'standard',
+            'encoding': 'utf-8',
+        },
+        'apple_pay': {
+            'level': 'INFO',
+            'class': 'logging.handlers.RotatingFileHandler',
+            'filename': BASE_DIR + '/static/log/apple_pay/apple_pay.log',
+            'backupCount': 3,
+            'maxBytes': 1024 * 1024 * 2 * 1024,  # 2G
             'formatter': 'standard',
             'formatter': 'standard',
             'encoding': 'utf-8',
             'encoding': 'utf-8',
         },
         },
@@ -287,11 +399,21 @@ LOGGING = {
             'level': 'INFO',
             'level': 'INFO',
             'propagate': False
             'propagate': False
         },
         },
+        'success_code': {
+            'handlers': ['success_code'],
+            'level': 'INFO',
+            'propagate': False
+        },
         'pay': {
         'pay': {
             'handlers': ['pay'],
             'handlers': ['pay'],
             'level': 'INFO',
             'level': 'INFO',
             'propagate': False
             'propagate': False
         },
         },
+        'apple_pay': {
+            'handlers': ['apple_pay'],
+            'level': 'INFO',
+            'propagate': False
+        },
         'token': {
         'token': {
             'handlers': ['token'],
             'handlers': ['token'],
             'level': 'INFO',
             'level': 'INFO',

+ 0 - 3
Ansjer/config.py

@@ -113,8 +113,6 @@ OSS_STS_ACCESS_SECRET = '71uIjpsqVOmF7DAITRyRuc259jHOjO'
 OSS_ROLE_ARN = 'acs:ram::1901342792446414:role/stsoss'
 OSS_ROLE_ARN = 'acs:ram::1901342792446414:role/stsoss'
 
 
 # aws api key
 # aws api key
-AWS_ACCESS_KEY_ID = ['AKIA2MMWBR4D3I4YNHSP', 'AKIA2E67UIMD45Y3HL53']  # 0国内, 1国外
-AWS_SECRET_ACCESS_KEY = ['5Q9LsKwa0Q9IRntwDWDzIgDOdT5zayt4M+qJKmuw', 'ckYLg4Lo9ZXJIcJEAKkzf2rWvs8Xth1FCjqiAqUw']
 AWS_ARN = ['arn:aws-cn:s3', 'arn:aws:s3']
 AWS_ARN = ['arn:aws-cn:s3', 'arn:aws:s3']
 
 
 # 尚云服务器CRCKey
 # 尚云服务器CRCKey
@@ -533,7 +531,6 @@ CT_USER_ID = 'C8EQeMCNNroW0J5jTc3r0NVHU6Ii2NpU'
 CT_PASSWORD = 'Pngt1r1S1cRouEyw'
 CT_PASSWORD = 'Pngt1r1S1cRouEyw'
 CT_SECRET_KEY = 'i7CYm8s2T'
 CT_SECRET_KEY = 'i7CYm8s2T'
 
 
-
 # amazon电子邮件
 # amazon电子邮件
 SES_SENDER = 'rdpublic@ansjer.com'  # 邮箱名
 SES_SENDER = 'rdpublic@ansjer.com'  # 邮箱名
 SES_SENDERNAME = 'rdpublic@ansjer.com'
 SES_SENDERNAME = 'rdpublic@ansjer.com'

+ 1 - 2
Ansjer/eur_config/config_formal.py

@@ -12,8 +12,7 @@ AWS相关
 # aws api key
 # aws api key
 AWS_ARN_S3 = 'arn:aws:s3'
 AWS_ARN_S3 = 'arn:aws:s3'
 REGION_NAME = 'us-east-1'
 REGION_NAME = 'us-east-1'
-ACCESS_KEY_ID = 'AKIA2E67UIMD45Y3HL53'
-SECRET_ACCESS_KEY = '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'
+KVS_REGION = 'eu-west-1'
 
 
 # 存储桶名
 # 存储桶名
 PUSH_BUCKET = 'foreignpush'                         # 推送存储桶
 PUSH_BUCKET = 'foreignpush'                         # 推送存储桶

+ 30 - 17
Ansjer/eur_config/formal_settings.py

@@ -1,5 +1,17 @@
 import os
 import os
 from Ansjer.config import BASE_DIR
 from Ansjer.config import BASE_DIR
+import environ
+
+env = environ.Env(
+    DEBUG=(bool, False)
+)
+# 读取 .env 文件
+environ.Env.read_env(os.path.join(BASE_DIR, '.env'))
+
+ACCESS_KEY_ID = env('ACCESS_KEY_ID', default='')
+SECRET_ACCESS_KEY = env('SECRET_ACCESS_KEY', default='')
+AWS_ACCESS_KEY_ID = env.list('AWS_ACCESS_KEY_ID', default=[])
+AWS_SECRET_ACCESS_KEY = env.list('AWS_SECRET_ACCESS_KEY', default=[])
 
 
 SECRET_KEY = 'c7ki2_gkg4#sjfm-u1%$s#&n#szf01f*v69rwv2qsf#-zmm@tl'
 SECRET_KEY = 'c7ki2_gkg4#sjfm-u1%$s#&n#szf01f*v69rwv2qsf#-zmm@tl'
 # DEBUG = True
 # DEBUG = True
@@ -76,28 +88,29 @@ TEMPLATES = [
 
 
 WSGI_APPLICATION = 'Ansjer.eur_config.formal_wsgi.application'
 WSGI_APPLICATION = 'Ansjer.eur_config.formal_wsgi.application'
 
 
-# 服务器类型
-DATABASE_DATA = 'Ansjer81'
-SERVER_HOST = '10.80.1.118'
-DATABASES_USER = 'root'
-DATABASES_PASS = '47vo87fikT19cekVoSq1..'
+# 业务数据库
+DATABASE_DATA = env('DATABASE_DATA')
+SERVER_HOST = env('SERVER_HOST')
+DATABASES_USER = env('DATABASES_USER')
+DATABASES_PASS = env('DATABASES_PASS')
 
 
-DATABASE_DATA2 = 'Ansjer81'
-SERVER_HOST2 = '10.80.1.216'
-DATABASES_USER2 = 'root'
-DATABASES_PASS2 = '5T0LVKsXwHFkYNTTa5UG..'
+# 推送数据库
+DATABASE_DATA2 = env('DATABASE_DATA2')
+SERVER_HOST2 = env('SERVER_HOST2')
+DATABASES_USER2 = env('DATABASES_USER2')
+DATABASES_PASS2 = env('DATABASES_PASS2')
 
 
 # 业务代理客户数据库
 # 业务代理客户数据库
-DATABASE_DATA3 = 'pro_asj_agent'
-SERVER_HOST3 = '10.80.1.118'
-DATABASES_USER3 = 'root'
-DATABASES_PASS3 = '47vo87fikT19cekVoSq1..'
+DATABASE_DATA3 = env('DATABASE_DATA3')
+SERVER_HOST3 = env('SERVER_HOST3')
+DATABASES_USER3 = env('DATABASES_USER3')
+DATABASES_PASS3 = env('DATABASES_PASS3')
 
 
 # 袋鼠妈妈数据库
 # 袋鼠妈妈数据库
-DATABASE_DATA4 = 'pro_roomumy'
-SERVER_HOST4 = '10.80.1.118'
-DATABASES_USER4 = 'root'
-DATABASES_PASS4 = '47vo87fikT19cekVoSq1..'
+DATABASE_DATA4 = env('DATABASE_DATA4')
+SERVER_HOST4 = env('SERVER_HOST4')
+DATABASES_USER4 = env('DATABASES_USER4')
+DATABASES_PASS4 = env('DATABASES_PASS4')
 
 
 DATABASES = {
 DATABASES = {
     'default': {
     'default': {

+ 2 - 16
Ansjer/local_config/config_local.py

@@ -12,8 +12,6 @@ AWS相关
 # aws api key
 # aws api key
 AWS_ARN_S3 = 'arn:aws-cn:s3'
 AWS_ARN_S3 = 'arn:aws-cn:s3'
 REGION_NAME = 'cn-northwest-1'
 REGION_NAME = 'cn-northwest-1'
-ACCESS_KEY_ID = 'AKIA2MMWBR4D3I4YNHSP'
-SECRET_ACCESS_KEY = '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'
 
 
 # 存储桶
 # 存储桶
 PUSH_BUCKET = 'push'                                # 推送存储桶
 PUSH_BUCKET = 'push'                                # 推送存储桶
@@ -36,8 +34,8 @@ DOMAIN_HOST = '127.0.0.1'
 SERVER_DOMAIN = 'http://127.0.0.1:8000/'
 SERVER_DOMAIN = 'http://127.0.0.1:8000/'
 SERVER_DOMAIN_SSL = 'http://127.0.0.1:8000/'
 SERVER_DOMAIN_SSL = 'http://127.0.0.1:8000/'
 NGINX_RTMP_STAT = 'http://127.0.0.1:8000/stat'
 NGINX_RTMP_STAT = 'http://127.0.0.1:8000/stat'
-DETECT_PUSH_DOMAIN = 'http://test.push.dvema.com/'
-DETECT_PUSH_DOMAINS = 'https://test.push.dvema.com/'
+DETECT_PUSH_DOMAIN = 'http://test.push.zositechc.cn/'
+DETECT_PUSH_DOMAINS = 'https://test.push.zositechc.cn/'
 DETECT_PUSH_DOMAIN_JIUAN = 'http://jiuan.push.dvema.com/'
 DETECT_PUSH_DOMAIN_JIUAN = 'http://jiuan.push.dvema.com/'
 DETECT_PUSH_DOMAINS_JIUAN = 'https://jiuan.push.dvema.com/'
 DETECT_PUSH_DOMAINS_JIUAN = 'https://jiuan.push.dvema.com/'
 TUTK_PUSH_DOMAIN = 'http://push.iotcplatform.com/tpns'
 TUTK_PUSH_DOMAIN = 'http://push.iotcplatform.com/tpns'
@@ -101,15 +99,3 @@ OCI_CONFIG = {
     }
     }
 }
 }
 OCI_NAMESPACE_NAME = 'cnmlmfa4fooi'
 OCI_NAMESPACE_NAME = 'cnmlmfa4fooi'
-
-# 域名
-DOMAIN_HOST = 'test.zositechc.cn'
-SERVER_DOMAIN = 'http://test.zositechc.cn/'
-SERVER_DOMAIN_SSL = 'https://test.zositechc.cn/'
-SERVER_DOMAIN_OTA = 'http://test.ota.zositechc.cn/'
-NGINX_RTMP_STAT = 'http://test.zositechc.cn/stat/'
-DETECT_PUSH_DOMAIN = 'http://test.push.dvema.com/'
-DETECT_PUSH_DOMAINS = 'https://test.push.dvema.com/'
-DETECT_PUSH_DOMAIN_JIUAN = 'http://jiuan.push.dvema.com/'
-DETECT_PUSH_DOMAINS_JIUAN = 'https://jiuan.push.dvema.com/'
-TUTK_PUSH_DOMAIN = 'http://push.iotcplatform.com/tpns'

+ 0 - 2
Ansjer/pushconfig.py

@@ -57,8 +57,6 @@ OSS_STS_ACCESS_SECRET = '71uIjpsqVOmF7DAITRyRuc259jHOjO'
 OSS_ROLE_ARN = 'acs:ram::1901342792446414:role/stsoss'
 OSS_ROLE_ARN = 'acs:ram::1901342792446414:role/stsoss'
 
 
 # aws api key
 # aws api key
-AWS_ACCESS_KEY_ID = ['AKIA2MMWBR4D3I4YNHSP', 'AKIA2E67UIMD45Y3HL53']  # 0国内, 1国外
-AWS_SECRET_ACCESS_KEY = ['5Q9LsKwa0Q9IRntwDWDzIgDOdT5zayt4M+qJKmuw', 'ckYLg4Lo9ZXJIcJEAKkzf2rWvs8Xth1FCjqiAqUw']
 AWS_ARN = ['arn:aws-cn:s3', 'arn:aws:s3']
 AWS_ARN = ['arn:aws-cn:s3', 'arn:aws:s3']
 
 
 
 

+ 1 - 2
Ansjer/us_config/config_formal.py

@@ -12,8 +12,7 @@ AWS相关
 # aws api key
 # aws api key
 AWS_ARN_S3 = 'arn:aws:s3'
 AWS_ARN_S3 = 'arn:aws:s3'
 REGION_NAME = 'us-east-1'
 REGION_NAME = 'us-east-1'
-ACCESS_KEY_ID = 'AKIA2E67UIMD45Y3HL53'
-SECRET_ACCESS_KEY = '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'
+KVS_REGION = 'us-east-1'
 
 
 # 存储桶
 # 存储桶
 PUSH_BUCKET = 'foreignpush'                         # 推送存储桶
 PUSH_BUCKET = 'foreignpush'                         # 推送存储桶

+ 0 - 2
Ansjer/us_config/config_test.py

@@ -144,8 +144,6 @@ TUTK_PUSH_DOMAIN = 'http://push.iotcplatform.com/tpns'
 # aws api key
 # aws api key
 AWS_ARN_S3 = 'arn:aws:s3'
 AWS_ARN_S3 = 'arn:aws:s3'
 REGION_NAME = 'us-east-1'
 REGION_NAME = 'us-east-1'
-ACCESS_KEY_ID = 'AKIA2E67UIMD45Y3HL53'
-SECRET_ACCESS_KEY = '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'
 
 
 # 存储桶名
 # 存储桶名
 AVATAR_BUCKET = 'avatar-us'         # 头像存储桶
 AVATAR_BUCKET = 'avatar-us'         # 头像存储桶

+ 4 - 1
Controller/AWS/KVSController.py

@@ -16,8 +16,11 @@ from Model.models import KVS, Device_User, Device_Info
 from Object.AWS.AmazonKinesisVideoUtil import AmazonKinesisVideoObject, AmazonKVAMObject
 from Object.AWS.AmazonKinesisVideoUtil import AmazonKinesisVideoObject, AmazonKVAMObject
 from Object.RedisObject import RedisObject
 from Object.RedisObject import RedisObject
 from Object.ResponseObject import ResponseObject
 from Object.ResponseObject import ResponseObject
-from Ansjer.config import ACCESS_KEY_ID, SECRET_ACCESS_KEY, REGION_NAME, SERVER_DOMAIN
+from Ansjer.config import REGION_NAME, SERVER_DOMAIN
 from Object.TokenObject import TokenObject
 from Object.TokenObject import TokenObject
+from django.conf import settings
+ACCESS_KEY_ID = settings.ACCESS_KEY_ID
+SECRET_ACCESS_KEY = settings.SECRET_ACCESS_KEY
 
 
 
 
 class UserRelatedView(View):
 class UserRelatedView(View):

+ 5 - 3
Controller/AppLogController.py

@@ -7,13 +7,15 @@ import botocore
 import oss2
 import oss2
 from django.views.generic.base import View
 from django.views.generic.base import View
 
 
-from Ansjer.config import OSS_STS_ACCESS_KEY, OSS_STS_ACCESS_SECRET, REGION_NAME, ACCESS_KEY_ID, SECRET_ACCESS_KEY, \
-    LOG_BUCKET
+from Ansjer.config import OSS_STS_ACCESS_KEY, OSS_STS_ACCESS_SECRET, REGION_NAME, LOG_BUCKET
 from Model.models import AppLogModel
 from Model.models import AppLogModel
 from Object.ResponseObject import ResponseObject
 from Object.ResponseObject import ResponseObject
 from Object.TokenObject import TokenObject
 from Object.TokenObject import TokenObject
 from Service.CommonService import CommonService
 from Service.CommonService import CommonService
 from Service.ModelService import ModelService
 from Service.ModelService import ModelService
+from django.conf import settings
+ACCESS_KEY_ID = settings.ACCESS_KEY_ID
+SECRET_ACCESS_KEY = settings.SECRET_ACCESS_KEY
 
 
 
 
 class AppLogView(View):
 class AppLogView(View):
@@ -154,7 +156,7 @@ class AppLogView(View):
                     AppLogModel.objects.filter(id=id).delete()
                     AppLogModel.objects.filter(id=id).delete()
                 except Exception as e:
                 except Exception as e:
                     print(repr(e))
                     print(repr(e))
-                    return response.json(500, repr(e))
+                    return response.json(500, 'error_line:{}, error_msg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
                 else:
                 else:
                     return response.json(0)
                     return response.json(0)
             else:
             else:

+ 4 - 2
Controller/CloudPhoto/CloudPhotoController.py

@@ -13,13 +13,15 @@ from django.db import transaction
 from django.views import View
 from django.views import View
 
 
 from Ansjer.cn_config.config_test import PUSH_CLOUD_PHOTO
 from Ansjer.cn_config.config_test import PUSH_CLOUD_PHOTO
-from Ansjer.config import ACCESS_KEY_ID, SECRET_ACCESS_KEY, REGION_NAME
+from Ansjer.config import REGION_NAME
 from Model.models import DeviceCloudPhotoInfo, Device_Info, CloudPhotoBGM, DevicePicturePushInfo
 from Model.models import DeviceCloudPhotoInfo, Device_Info, CloudPhotoBGM, DevicePicturePushInfo
 from Object.AWS.AmazonS3Util import AmazonS3Util
 from Object.AWS.AmazonS3Util import AmazonS3Util
 from Object.ResponseObject import ResponseObject
 from Object.ResponseObject import ResponseObject
 from Object.TokenObject import TokenObject
 from Object.TokenObject import TokenObject
 from Object.utils import LocalDateTimeUtil
 from Object.utils import LocalDateTimeUtil
-
+from django.conf import settings
+ACCESS_KEY_ID = settings.ACCESS_KEY_ID
+SECRET_ACCESS_KEY = settings.SECRET_ACCESS_KEY
 LOGGER = logging.getLogger('info')
 LOGGER = logging.getLogger('info')
 
 
 
 

+ 4 - 1
Controller/CloudStorage.py

@@ -23,7 +23,7 @@ from django.http import JsonResponse, HttpResponseRedirect, HttpResponse
 from django.views.generic.base import View
 from django.views.generic.base import View
 
 
 from AdminController.CloudServiceManage.AgentOrderController import AgentOrderView
 from AdminController.CloudServiceManage.AgentOrderController import AgentOrderView
-from Ansjer.config import SERVER_DOMAIN, PAYPAL_CRD, SERVER_DOMAIN_SSL, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, \
+from Ansjer.config import SERVER_DOMAIN, PAYPAL_CRD, SERVER_DOMAIN_SSL, \
     AWS_ARN, OAUTH_ACCESS_TOKEN_SECRET, DETECT_PUSH_DOMAINS, CONFIG_INFO, CONFIG_CN, BINOCULAR_DEVICE_TYPE, CONFIG_US, \
     AWS_ARN, OAUTH_ACCESS_TOKEN_SECRET, DETECT_PUSH_DOMAINS, CONFIG_INFO, CONFIG_CN, BINOCULAR_DEVICE_TYPE, CONFIG_US, \
     CONFIG_TEST, CONFIG_EUR
     CONFIG_TEST, CONFIG_EUR
 from Controller.CheckUserData import DataValid
 from Controller.CheckUserData import DataValid
@@ -52,6 +52,9 @@ from Service.VodHlsService import SplitVodHlsObject
 ssl._create_default_https_context = ssl._create_unverified_context
 ssl._create_default_https_context = ssl._create_unverified_context
 LOGGER = logging.getLogger('info')
 LOGGER = logging.getLogger('info')
 
 
+from django.conf import settings
+AWS_ACCESS_KEY_ID = settings.AWS_ACCESS_KEY_ID
+AWS_SECRET_ACCESS_KEY = settings.AWS_SECRET_ACCESS_KEY
 
 
 # 设备信息添加
 # 设备信息添加
 class CloudStorageView(View):
 class CloudStorageView(View):

+ 4 - 3
Controller/Cron/CronCloudPhotoController.py

@@ -16,14 +16,15 @@ import cv2
 from django.db import transaction
 from django.db import transaction
 from django.views import View
 from django.views import View
 
 
-from Ansjer.config import PUSH_CLOUD_PHOTO, ACCESS_KEY_ID, SECRET_ACCESS_KEY, REGION_NAME, PUSH_BUCKET
+from Ansjer.config import PUSH_CLOUD_PHOTO, REGION_NAME, PUSH_BUCKET
 from Model.models import UidSetModel, DeviceCloudPhotoInfo, DevicePicturePushInfo
 from Model.models import UidSetModel, DeviceCloudPhotoInfo, DevicePicturePushInfo
 from Object.AWS.AmazonS3Util import AmazonS3Util
 from Object.AWS.AmazonS3Util import AmazonS3Util
 from Object.RedisObject import RedisObject
 from Object.RedisObject import RedisObject
 from Object.ResponseObject import ResponseObject
 from Object.ResponseObject import ResponseObject
 from Object.utils import LocalDateTimeUtil
 from Object.utils import LocalDateTimeUtil
-from Service.EquipmentInfoService import EquipmentInfoService
-
+from django.conf import settings
+ACCESS_KEY_ID = settings.ACCESS_KEY_ID
+SECRET_ACCESS_KEY = settings.SECRET_ACCESS_KEY
 LOGGER = logging.getLogger('info')
 LOGGER = logging.getLogger('info')
 UID_KEY = 'ANSJER:UID:SET:INFO'
 UID_KEY = 'ANSJER:UID:SET:INFO'
 
 

+ 5 - 2
Controller/Cron/CronTaskController.py

@@ -23,8 +23,8 @@ from django.db.models import Q, Sum, Count
 from django.views import View
 from django.views import View
 
 
 from Ansjer.config import USED_SERIAL_REDIS_LIST, UNUSED_SERIAL_REDIS_LIST, CONFIG_INFO, CONFIG_US, \
 from Ansjer.config import USED_SERIAL_REDIS_LIST, UNUSED_SERIAL_REDIS_LIST, CONFIG_INFO, CONFIG_US, \
-    RESET_REGION_ID_SERIAL_REDIS_LIST, LOGGER, PAYPAL_CRD, CONFIG_EUR, DETECT_PUSH_DOMAINS, ACCESS_KEY_ID, \
-    SECRET_ACCESS_KEY, REGION_NAME, CONFIG_CN
+    RESET_REGION_ID_SERIAL_REDIS_LIST, LOGGER, PAYPAL_CRD, CONFIG_EUR, DETECT_PUSH_DOMAINS, \
+    REGION_NAME, CONFIG_CN
 from Model.models import Device_User, Device_Info, UidSetModel, UID_Bucket, Unused_Uid_Meal, Order_Model, StsCrdModel, \
 from Model.models import Device_User, Device_Info, UidSetModel, UID_Bucket, Unused_Uid_Meal, Order_Model, StsCrdModel, \
     VodHlsModel, ExperienceContextModel, AiService, VodHlsSummary, VideoPlaybackTimeModel, DeviceUserSummary, \
     VodHlsModel, ExperienceContextModel, AiService, VodHlsSummary, VideoPlaybackTimeModel, DeviceUserSummary, \
     CountryModel, DeviceTypeModel, OrdersSummary, DeviceInfoSummary, CompanySerialModel, \
     CountryModel, DeviceTypeModel, OrdersSummary, DeviceInfoSummary, CompanySerialModel, \
@@ -44,6 +44,9 @@ from Object.UnicomObject import UnicomObjeect
 from Object.WechatPayObject import WechatPayObject
 from Object.WechatPayObject import WechatPayObject
 from Object.AliPayObject import AliPayObject
 from Object.AliPayObject import AliPayObject
 from dateutil.relativedelta import relativedelta
 from dateutil.relativedelta import relativedelta
+from django.conf import settings
+ACCESS_KEY_ID = settings.ACCESS_KEY_ID
+SECRET_ACCESS_KEY = settings.SECRET_ACCESS_KEY
 
 
 
 
 class CronDelDataView(View):
 class CronDelDataView(View):

+ 4 - 1
Controller/DetectControllerV2.py

@@ -12,7 +12,7 @@ from django.views.generic.base import View
 from obs import ObsClient
 from obs import ObsClient
 
 
 from Ansjer.config import DETECT_PUSH_DOMAIN, DETECT_PUSH_DOMAINS, DETECT_PUSH_DOMAIN_JIUAN, DETECT_PUSH_DOMAINS_JIUAN, \
 from Ansjer.config import DETECT_PUSH_DOMAIN, DETECT_PUSH_DOMAINS, DETECT_PUSH_DOMAIN_JIUAN, DETECT_PUSH_DOMAINS_JIUAN, \
-    OSS_STS_ACCESS_KEY, OSS_STS_ACCESS_SECRET, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, LOGGER, ALGORITHM_COMBO_TYPES, \
+    OSS_STS_ACCESS_KEY, OSS_STS_ACCESS_SECRET, LOGGER, ALGORITHM_COMBO_TYPES, \
     HUAWEICLOUD_AK, HUAWEICLOUD_SK, HUAWEICLOUD_OBS_SERVER, HUAWEICLOUD_PUSH_BUKET
     HUAWEICLOUD_AK, HUAWEICLOUD_SK, HUAWEICLOUD_OBS_SERVER, HUAWEICLOUD_PUSH_BUKET
 from Ansjer.config import PUSH_BUCKET, CONFIG_INFO, CONFIG_CN, CONFIG_EUR, CONFIG_US
 from Ansjer.config import PUSH_BUCKET, CONFIG_INFO, CONFIG_CN, CONFIG_EUR, CONFIG_US
 from Ansjer.config import PUSH_REDIS_ADDRESS
 from Ansjer.config import PUSH_REDIS_ADDRESS
@@ -28,6 +28,9 @@ from Object.utils import LocalDateTimeUtil
 from Service.CommonService import CommonService
 from Service.CommonService import CommonService
 from Service.EquipmentInfoService import EquipmentInfoService
 from Service.EquipmentInfoService import EquipmentInfoService
 from Service.VodHlsService import SplitVodHlsObject
 from Service.VodHlsService import SplitVodHlsObject
+from django.conf import settings
+AWS_ACCESS_KEY_ID = settings.AWS_ACCESS_KEY_ID
+AWS_SECRET_ACCESS_KEY = settings.AWS_SECRET_ACCESS_KEY
 
 
 
 
 class DetectControllerViewV2(View):
 class DetectControllerViewV2(View):

+ 6 - 3
Controller/DeviceLogController.py

@@ -7,7 +7,10 @@ from django.views.generic.base import View
 from Model.models import DeviceLogModel
 from Model.models import DeviceLogModel
 from Service.CommonService import CommonService
 from Service.CommonService import CommonService
 from Object.ResponseObject import ResponseObject
 from Object.ResponseObject import ResponseObject
-from Ansjer.config import REGION_NAME, ACCESS_KEY_ID, SECRET_ACCESS_KEY, LOG_BUCKET
+from Ansjer.config import REGION_NAME, LOG_BUCKET
+from django.conf import settings
+ACCESS_KEY_ID = settings.ACCESS_KEY_ID
+SECRET_ACCESS_KEY = settings.SECRET_ACCESS_KEY
 
 
 
 
 class DeviceLogView(View):
 class DeviceLogView(View):
@@ -76,7 +79,7 @@ class DeviceLogView(View):
             return response.json(0, {'put_url_list': put_url_list})
             return response.json(0, {'put_url_list': put_url_list})
         except Exception as e:
         except Exception as e:
             print(e)
             print(e)
-            return response.json(500, repr(e))
+            return response.json(500, 'error_line:{}, error_msg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
 
 
     def uploaded(self, request, request_dict, response):
     def uploaded(self, request, request_dict, response):
         uid = request_dict.get('uid', None)
         uid = request_dict.get('uid', None)
@@ -102,4 +105,4 @@ class DeviceLogView(View):
             return response.json(0)
             return response.json(0)
         except Exception as e:
         except Exception as e:
             print(e)
             print(e)
-            return response.json(500, repr(e))
+            return response.json(500, 'error_line:{}, error_msg:{}'.format(e.__traceback__.tb_lineno, repr(e)))

+ 8 - 5
Controller/FeedBack.py

@@ -6,7 +6,7 @@ import oss2
 from django.db import transaction
 from django.db import transaction
 from django.views.generic.base import View
 from django.views.generic.base import View
 
 
-from Ansjer.config import ACCESS_KEY_ID, SECRET_ACCESS_KEY, REGION_NAME, PUSH_BUCKET, PUSH_INACCURATE_BUCKET
+from Ansjer.config import REGION_NAME, PUSH_BUCKET, PUSH_INACCURATE_BUCKET
 from Ansjer.config import OSS_STS_ACCESS_KEY, OSS_STS_ACCESS_SECRET, LOGGER
 from Ansjer.config import OSS_STS_ACCESS_KEY, OSS_STS_ACCESS_SECRET, LOGGER
 from Model.models import FeedBackModel, StatResModel, PushInaccurateFeedback, SysMsgModel
 from Model.models import FeedBackModel, StatResModel, PushInaccurateFeedback, SysMsgModel
 from Object.AWS.AmazonS3Util import AmazonS3Util
 from Object.AWS.AmazonS3Util import AmazonS3Util
@@ -16,6 +16,9 @@ from Object.utils import LocalDateTimeUtil
 from Service.CommonService import CommonService
 from Service.CommonService import CommonService
 from Service.ModelService import ModelService
 from Service.ModelService import ModelService
 from Service.EquipmentInfoService import EquipmentInfoService
 from Service.EquipmentInfoService import EquipmentInfoService
+from django.conf import settings
+ACCESS_KEY_ID = settings.ACCESS_KEY_ID
+SECRET_ACCESS_KEY = settings.SECRET_ACCESS_KEY
 
 
 
 
 class FeedBackView(View):
 class FeedBackView(View):
@@ -213,7 +216,7 @@ class FeedBackView(View):
             print('----------')
             print('----------')
 
 
         except Exception as e:
         except Exception as e:
-            return response.json(500, repr(e))
+            return response.json(500, 'error_line:{}, error_msg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
         else:
         else:
             return response.json(0)
             return response.json(0)
 
 
@@ -239,7 +242,7 @@ class FeedBackView(View):
                 try:
                 try:
                     fb_qs = FeedBackModel.objects.filter()
                     fb_qs = FeedBackModel.objects.filter()
                 except Exception as e:
                 except Exception as e:
-                    return response.json(500, repr(e))
+                    return response.json(500, 'error_line:{}, error_msg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
                 print('----------')
                 print('----------')
                 if filter_data:
                 if filter_data:
                     fb_qs = fb_qs.filter(**filter_data)
                     fb_qs = fb_qs.filter(**filter_data)
@@ -292,7 +295,7 @@ class FeedBackView(View):
                 fb_qs.delete()
                 fb_qs.delete()
                 print('----------')
                 print('----------')
             except Exception as e:
             except Exception as e:
-                return response.json(500, repr(e))
+                return response.json(500, 'error_line:{}, error_msg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
             else:
             else:
                 return response.json(0)
                 return response.json(0)
         else:
         else:
@@ -367,7 +370,7 @@ class FeedBackView(View):
             else:
             else:
                 return response.json(174)
                 return response.json(174)
         except Exception as e:
         except Exception as e:
-            return response.json(500, repr(e))
+            return response.json(500, 'error_line:{}, error_msg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
 
 
     @staticmethod
     @staticmethod
     def push_inaccurate(user_id, request_dict, response):
     def push_inaccurate(user_id, request_dict, response):

+ 4 - 1
Controller/PcInfo.py

@@ -16,13 +16,16 @@ from Model.models import Pc_Info, PctestlogModel, AVSSVersion
 from Object.ResponseObject import ResponseObject
 from Object.ResponseObject import ResponseObject
 from Object.TokenObject import TokenObject
 from Object.TokenObject import TokenObject
 from Service.CommonService import CommonService
 from Service.CommonService import CommonService
-from Ansjer.config import AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_ARN, BASE_DIR
+from Ansjer.config import AWS_ARN, BASE_DIR
 import boto3
 import boto3
 import botocore
 import botocore
 from botocore import client
 from botocore import client
 from wsgiref.util import FileWrapper
 from wsgiref.util import FileWrapper
 from zlib import crc32
 from zlib import crc32
 from typing import Union
 from typing import Union
+from django.conf import settings
+AWS_ACCESS_KEY_ID = settings.AWS_ACCESS_KEY_ID
+AWS_SECRET_ACCESS_KEY = settings.AWS_SECRET_ACCESS_KEY
 
 
 
 
 class PcInfo(View):
 class PcInfo(View):

+ 4 - 2
Controller/S3GetStsController.py

@@ -9,13 +9,15 @@ import boto3
 from django.http import HttpResponse, JsonResponse
 from django.http import HttpResponse, JsonResponse
 from django.views import View
 from django.views import View
 
 
-from Ansjer.config import AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_ARN
+from Ansjer.config import AWS_ARN
 from Controller.DeviceConfirmRegion import Device_Region
 from Controller.DeviceConfirmRegion import Device_Region
 from Model.models import Device_User, Device_Info, iotdeviceInfoModel, UIDCompanySerialModel, \
 from Model.models import Device_User, Device_Info, iotdeviceInfoModel, UIDCompanySerialModel, \
     SerialNumberModel
     SerialNumberModel
 from Object.IOTCore.IotObject import IOTClient
 from Object.IOTCore.IotObject import IOTClient
 from Object.ResponseObject import ResponseObject
 from Object.ResponseObject import ResponseObject
-from Service.CommonService import CommonService
+from django.conf import settings
+AWS_ACCESS_KEY_ID = settings.AWS_ACCESS_KEY_ID
+AWS_SECRET_ACCESS_KEY = settings.AWS_SECRET_ACCESS_KEY
 
 
 
 
 class S3GetStsView(View):
 class S3GetStsView(View):

+ 7 - 2
Controller/TestApi.py

@@ -46,8 +46,7 @@ from django.utils.decorators import method_decorator
 from django.views.decorators.csrf import csrf_exempt
 from django.views.decorators.csrf import csrf_exempt
 from django.views.generic.base import View
 from django.views.generic.base import View
 from django.contrib.auth.hashers import make_password  # 对密码加密模块
 from django.contrib.auth.hashers import make_password  # 对密码加密模块
-from Ansjer.config import OSS_STS_ACCESS_KEY, OSS_STS_ACCESS_SECRET, AWS_ACCESS_KEY_ID, \
-    AWS_SECRET_ACCESS_KEY, SERVER_TYPE, AWS_SES_ACCESS_REGION
+from Ansjer.config import OSS_STS_ACCESS_KEY, OSS_STS_ACCESS_SECRET, SERVER_TYPE, AWS_SES_ACCESS_REGION
 from Model.models import Order_Model, Store_Meal, DeviceLogModel, VodBucketModel, \
 from Model.models import Order_Model, Store_Meal, DeviceLogModel, VodBucketModel, \
     TestSerialRepetition, UIDCompanySerialModel, CompanySerialModel, LogModel, AbnormalOrder
     TestSerialRepetition, UIDCompanySerialModel, CompanySerialModel, LogModel, AbnormalOrder
 from Object.ResponseObject import ResponseObject
 from Object.ResponseObject import ResponseObject
@@ -57,6 +56,12 @@ from Object.m3u8generate import PlaylistGenerator
 from Model.models import Device_Info, UID_Bucket, UID_Preview, UidSetModel
 from Model.models import Device_Info, UID_Bucket, UID_Preview, UidSetModel
 from Ansjer.config import SERVER_DOMAIN_SSL
 from Ansjer.config import SERVER_DOMAIN_SSL
 
 
+from django.conf import settings
+ACCESS_KEY_ID = settings.ACCESS_KEY_ID
+SECRET_ACCESS_KEY = settings.SECRET_ACCESS_KEY
+AWS_ACCESS_KEY_ID = settings.AWS_ACCESS_KEY_ID
+AWS_SECRET_ACCESS_KEY = settings.AWS_SECRET_ACCESS_KEY
+
 SERVER_DOMAIN = 'http://test.dvema.com/'
 SERVER_DOMAIN = 'http://test.dvema.com/'
 ACCESS_KEY = "AKIA2E67UIMD3CYTIWPA"
 ACCESS_KEY = "AKIA2E67UIMD3CYTIWPA"
 SECRET_KEY = "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"
 SECRET_KEY = "mHl79oiKxEf+89friTtwIcF8FUFIdVksUwySixwQ"

+ 4 - 1
Controller/UserController.py

@@ -27,7 +27,7 @@ from ratelimit import limits
 
 
 from Ansjer.config import AuthCode_Expire, SERVER_DOMAIN, TUTK_PUSH_DOMAIN, \
 from Ansjer.config import AuthCode_Expire, SERVER_DOMAIN, TUTK_PUSH_DOMAIN, \
     LOGGER, CONFIG_US, APP_MAPPING, DETECT_PUSH_DOMAINS
     LOGGER, CONFIG_US, APP_MAPPING, DETECT_PUSH_DOMAINS
-from Ansjer.config import BASE_DIR, CONFIG_EUR, CONFIG_INFO, SERVER_DOMAIN_EUR, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY
+from Ansjer.config import BASE_DIR, CONFIG_EUR, CONFIG_INFO, SERVER_DOMAIN_EUR
 from Controller.CheckUserData import DataValid, date_handler, RandomStr
 from Controller.CheckUserData import DataValid, date_handler, RandomStr
 from Controller.UserDevice.UserSubscriptionController import UserSubscriptionControllerView
 from Controller.UserDevice.UserSubscriptionController import UserSubscriptionControllerView
 from Model.models import Device_User, Role, UidPushModel, UserOauth2Model, UserExModel, Device_Info, UidSetModel, \
 from Model.models import Device_User, Role, UidPushModel, UserOauth2Model, UserExModel, Device_Info, UidSetModel, \
@@ -44,6 +44,9 @@ from Service.CommonService import CommonService
 from Service.ModelService import ModelService
 from Service.ModelService import ModelService
 from Service.TemplateService import TemplateService
 from Service.TemplateService import TemplateService
 from Object.AWS.S3Email import S3Email
 from Object.AWS.S3Email import S3Email
+from django.conf import settings
+AWS_ACCESS_KEY_ID = settings.AWS_ACCESS_KEY_ID
+AWS_SECRET_ACCESS_KEY = settings.AWS_SECRET_ACCESS_KEY
 
 
 
 
 # 获取验证码
 # 获取验证码

+ 4 - 3
Controller/UserDevice/UserDeviceShareController.py

@@ -24,11 +24,12 @@ from Object.ContentSecurityObject import ContentSecurity
 from Object.ResponseObject import ResponseObject
 from Object.ResponseObject import ResponseObject
 from Object.TokenObject import TokenObject
 from Object.TokenObject import TokenObject
 from Service.UserDeviceService import UserDeviceService
 from Service.UserDeviceService import UserDeviceService
-from Ansjer.config import CONFIG_CN, CONFIG_INFO, CONFIG_TEST, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, \
-    AWS_SES_ACCESS_REGION, AWS_IOT_SES_ACCESS_CHINA_REGION
+from Ansjer.config import CONFIG_CN, CONFIG_INFO, CONFIG_TEST
 from Model.models import DeviceWallpaper
 from Model.models import DeviceWallpaper
 from Object.AWS.AmazonS3Util import AmazonS3Util
 from Object.AWS.AmazonS3Util import AmazonS3Util
-
+from django.conf import settings
+AWS_ACCESS_KEY_ID = settings.AWS_ACCESS_KEY_ID
+AWS_SECRET_ACCESS_KEY = settings.AWS_SECRET_ACCESS_KEY
 LOGGER = logging.getLogger('info')
 LOGGER = logging.getLogger('info')
 
 
 
 

+ 4 - 1
Controller/UserManger.py

@@ -11,7 +11,7 @@ from django.views.decorators.csrf import csrf_exempt
 from django.views.generic import TemplateView, View
 from django.views.generic import TemplateView, View
 
 
 from Ansjer.cn_config.config_test import REGION_NAME2
 from Ansjer.cn_config.config_test import REGION_NAME2
-from Ansjer.config import BASE_DIR, ACCESS_KEY_ID, SECRET_ACCESS_KEY, REGION_NAME, AVATAR_BUCKET, CONFIG_INFO, \
+from Ansjer.config import BASE_DIR, REGION_NAME, AVATAR_BUCKET, CONFIG_INFO, \
     CONFIG_CN, CONFIG_TEST, LOGGER
     CONFIG_CN, CONFIG_TEST, LOGGER
 from Ansjer.config import SERVER_DOMAIN
 from Ansjer.config import SERVER_DOMAIN
 from Model.models import Role, Device_User, UserOauth2Model, UserExModel, CountryLanguageModel, LanguageModel, App_Info
 from Model.models import Role, Device_User, UserOauth2Model, UserExModel, CountryLanguageModel, LanguageModel, App_Info
@@ -21,6 +21,9 @@ from Object.ResponseObject import ResponseObject
 from Object.TokenObject import TokenObject
 from Object.TokenObject import TokenObject
 from Service.CommonService import CommonService
 from Service.CommonService import CommonService
 from Service.ModelService import ModelService
 from Service.ModelService import ModelService
+from django.conf import settings
+ACCESS_KEY_ID = settings.ACCESS_KEY_ID
+SECRET_ACCESS_KEY = settings.SECRET_ACCESS_KEY
 
 
 
 
 class showUserMoreView(TemplateView):
 class showUserMoreView(TemplateView):

+ 4 - 1
Object/AWS/S3Email.py

@@ -5,7 +5,10 @@ from email.mime.text import MIMEText
 
 
 import boto3
 import boto3
 
 
-from Ansjer.config import AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, LOGGER
+from Ansjer.config import LOGGER
+from django.conf import settings
+AWS_ACCESS_KEY_ID = settings.AWS_ACCESS_KEY_ID
+AWS_SECRET_ACCESS_KEY = settings.AWS_SECRET_ACCESS_KEY
 
 
 
 
 class S3Email:
 class S3Email:

+ 4 - 1
Roomumy/Controller/BabyController.py

@@ -11,13 +11,16 @@ import time
 
 
 from django.db import transaction
 from django.db import transaction
 from django.views import View
 from django.views import View
-from Ansjer.cn_config.config_formal import SECRET_ACCESS_KEY, ACCESS_KEY_ID, REGION_NAME
+from Ansjer.cn_config.config_formal import REGION_NAME
 from Model.models import Device_Info
 from Model.models import Device_Info
 
 
 from Object.AWS.AmazonS3Util import AmazonS3Util
 from Object.AWS.AmazonS3Util import AmazonS3Util
 from Roomumy.models import BabyUser, BabyGrowthStandard, DevelopmentalPoints
 from Roomumy.models import BabyUser, BabyGrowthStandard, DevelopmentalPoints
 from Service.CommonService import CommonService
 from Service.CommonService import CommonService
 from Ansjer.config import LOGGER
 from Ansjer.config import LOGGER
+from django.conf import settings
+ACCESS_KEY_ID = settings.ACCESS_KEY_ID
+SECRET_ACCESS_KEY = settings.SECRET_ACCESS_KEY
 
 
 
 
 class BabyView(View):
 class BabyView(View):

+ 4 - 2
Roomumy/Controller/TimeAlbumController.py

@@ -6,11 +6,13 @@ import botocore
 from django.core.paginator import Paginator
 from django.core.paginator import Paginator
 from django.views import View
 from django.views import View
 from obs import ObsClient
 from obs import ObsClient
-from Ansjer.config import HUAWEICLOUD_AK, HUAWEICLOUD_SK, HUAWEICLOUD_OBS_SERVER, CONFIG_INFO, CONFIG_CN, CONFIG_TEST, \
-    AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY
+from Ansjer.config import HUAWEICLOUD_AK, HUAWEICLOUD_SK, HUAWEICLOUD_OBS_SERVER, CONFIG_INFO, CONFIG_CN, CONFIG_TEST
 
 
 from Roomumy.models import TimeAlbum, AlbumMedia, TimeDiary, DiaryAlbumMediaRelation
 from Roomumy.models import TimeAlbum, AlbumMedia, TimeDiary, DiaryAlbumMediaRelation
 from Service.CommonService import CommonService
 from Service.CommonService import CommonService
+from django.conf import settings
+AWS_ACCESS_KEY_ID = settings.AWS_ACCESS_KEY_ID
+AWS_SECRET_ACCESS_KEY = settings.AWS_SECRET_ACCESS_KEY
 
 
 
 
 class TimeAlbumView(View):
 class TimeAlbumView(View):