【问题标题】:Find user location automatically自动查找用户位置
【发布时间】:2013-01-14 00:16:27
【问题描述】:

我正在为我的 Django 应用集成 Stripe 支付。付款的必填字段之一是国家/地区。我的问题是如何知道用户的当前位置?我不需要地图。我只想要一个国家名称。

【问题讨论】:

标签: javascript jquery django stripe-payments


【解决方案1】:

添加带有国家/地区下拉列表的表单字段并让用户选择。

您可以使用 geoip 作为第一个猜测,但应该将其用作此类下拉列表的默认值,因为用户可能正在使用代理。

编辑:

由于您使用的是 Django,我建议您使用随附的电池:https://docs.djangoproject.com/en/dev/ref/contrib/gis/geoip/

我宁愿为此使用外部服务。这会降低您的网站速度,导致不必要的依赖。

Django 视图的示例代码:

from django.contrib.gis.geoip import GeoIP
g = GeoIP()
c = g.country(request.META['REMOTE_ADDR'])
# c.country_code and c.country_name do now contain
# The data you want. Simply pass it to a template,
# form and/or use it for the stripe API.

【讨论】:

  • 我想知道为什么这被否决了。这是正确的答案,通过使用GeoIP,您甚至不必使用外部服务。仅依赖 IP 地址显然是错误的,因为用户可能使用 Tor 或其他隐藏其真实 IP 地址的代理。
  • 我也很好奇为什么它被否决了。看不懂的人太多了。
猜你喜欢
  • 2016-11-25
  • 2023-03-31
  • 1970-01-01
  • 2011-11-19
  • 1970-01-01
  • 2016-08-29
  • 1970-01-01
  • 1970-01-01
  • 2016-10-14
相关资源
最近更新 更多