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