1

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

4

1 回答 1

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.
于 2013-01-30T08:37:57.443 回答