Quellcode durchsuchen

ip地址信息增加市,省/州

locky vor 2 Jahren
Ursprung
Commit
feddf7ce31
4 geänderte Dateien mit 14 neuen und 13 gelöschten Zeilen
  1. 0 7
      Controller/DeviceConfirmRegion.py
  2. 0 3
      Controller/ShadowController.py
  3. 3 1
      Model/models.py
  4. 11 2
      Object/IPWeatherObject.py

+ 0 - 7
Controller/DeviceConfirmRegion.py

@@ -1,4 +1,3 @@
-import logging
 import time
 
 from django.utils.decorators import method_decorator
@@ -30,13 +29,7 @@ class ConfirmRegion(TemplateView):
                 country_code = ip_addr_qs[0]['country_code']
             else:
                 ip_qs = IPQuery(ip)
-                district = ip_qs.district
                 country_code = ip_qs.country_id
-                # ip地址信息存表
-                IPAddr.objects.create(ip=ip, country_code=country_code, district=district)
-
-            logger = logging.getLogger('info')
-            logger.info('设备获取域名---ip:{},country_code:{}'.format(ip, country_code))
 
             if country_code:
                 country_qs = CountryModel.objects.filter(country_code=country_code).\

+ 0 - 3
Controller/ShadowController.py

@@ -183,7 +183,4 @@ def get_district(ip):
     else:
         ip_qs = IPQuery(ip)
         district = ip_qs.district
-        country_code = ip_qs.country_id
-        # ip地址信息存表
-        IPAddr.objects.create(ip=ip, country_code=country_code, district=district)
     return district

+ 3 - 1
Model/models.py

@@ -3742,8 +3742,10 @@ class CityInformation(models.Model):
 class IPAddr(models.Model):
     id = models.AutoField(primary_key=True, verbose_name='主键')
     ip = models.CharField(default='', max_length=32, verbose_name='ip')
+    district = models.CharField(default='', max_length=32, verbose_name='区')
+    city = models.CharField(default='', max_length=32, verbose_name='市')
+    region = models.CharField(default='', max_length=32, verbose_name='省/州')
     country_code = models.CharField(default='', max_length=8, verbose_name='国家编码')
-    district = models.CharField(default='', max_length=32, verbose_name='区级名称')
 
     class Meta:
         db_table = 'ip_addr'

+ 11 - 2
Object/IPWeatherObject.py

@@ -3,6 +3,8 @@
 # @Time      : 2023/8/16 8:56
 import requests
 
+from Model.models import IPAddr
+
 
 class IPQuery:
     """
@@ -15,8 +17,10 @@ class IPQuery:
         self.host = 'https://c2ba.api.huachen.cn'
         self.path = '/ip'
 
-        self.district = None
-        self.country_id = None
+        self.district = ''  # 区
+        self.city = ''      # 市
+        self.region = ''    # 省/州
+        self.country_id = ''
 
         param = 'ip=' + ip
         url = self.host + self.path + '?' + param
@@ -30,7 +34,12 @@ class IPQuery:
             if res_data['ret'] == 200:
                 district = res_data['data']['district']
                 city = res_data['data']['city'] + '市'
+                region = res_data['data']['region']
                 country_id = res_data['data']['country_id']
+
+                # ip地址信息存表
+                IPAddr.objects.create(ip=ip, district=district, city=city, region=region, country_code=country_id)
+
                 self.district = district if district else city
                 self.country_id = country_id