add "city"
This commit is contained in:
parent
762de74ffa
commit
a7d1fd83ef
|
@ -7,7 +7,7 @@ class SignupAdmin(admin.ModelAdmin):
|
|||
_all_fields = ["email", "created_at", "anonymized_ip", "user_agent"]
|
||||
|
||||
date_hierarchy = "created_at"
|
||||
list_display = ["email", "created_at", "anonymized_ip", "user_agent"] + ["country_code"]
|
||||
list_display = ["email", "created_at", "anonymized_ip", "user_agent"] + ["place_name"]
|
||||
list_filter = ["email", "user_agent"]
|
||||
ordering = ["created_at"]
|
||||
readonly_fields = _all_fields + ["country_name"]
|
||||
readonly_fields = _all_fields + ["place_name"]
|
||||
|
|
|
@ -17,14 +17,13 @@ class Signup(models.Model):
|
|||
def __str__(self):
|
||||
return self.email
|
||||
|
||||
def _country(self):
|
||||
def _city(self):
|
||||
try:
|
||||
return GeoIP2().country(self.anonymized_ip)
|
||||
return GeoIP2().city(self.anonymized_ip)
|
||||
except geoip2.errors.AddressNotFoundError:
|
||||
return {}
|
||||
return None
|
||||
|
||||
def country_name(self):
|
||||
return self._country().get("country_name", "??")
|
||||
|
||||
def country_code(self):
|
||||
return self._country().get("country_code", "??")
|
||||
def place_name(self):
|
||||
if city := self._city():
|
||||
return "{}, {}".format(city["city"], city["country_name"])
|
||||
return "??"
|
||||
|
|
Loading…
Reference in New Issue