Django アーキテクチャにこの utils.py ファイルがあります。
def range_data(ip):
r = []
f = open(os.path.join(settings.PROJECT_ROOT, 'static', 'csv ',
'GeoIPCountryWhois.csv'))
for num,row in enumerate(csv.reader(f)):
if row[0] <= ip <= row[1]:
r.append([r[4]])
return r
else:
continue
return r
ここで ip パラメータは単なる IPv4 アドレスです。オープン ソースの MAXMINDGeoIPCountrywhois.csv
ファイルを使用しています。
のいくつかの開始コンテンツGeopIOCountrywhois.csv
:
"1.0.0.0","1.0.0.255","16777216","16777471","AU","Australia"
"1.0.1.0","1.0.3.255","16777472","16778239","CN","China"
"1.0.4.0","1.0.7.255","16778240","16779263","AU","Australia"
"1.0.8.0","1.0.15.255","16779264","16781311","CN","China"
"1.0.16.0","1.0.31.255","16781312","16785407","JP","Japan"
"1.0.32.0","1.0.63.255","16785408","16793599","CN","China"
"1.0.64.0","1.0.127.255","16793600","16809983","JP","Japan"
"1.0.128.0","1.0.255.255","16809984","16842751","TH","Thailand"
この問題についても読みましたが、あまり理解できませんでした。そのエラーを解決するのを手伝ってくれませんか?
utils での私のメソッドによると、メソッドIP
へのパラメーター アドレスの国名を確認しています。