我正在为我的Django应用程序整合Stripe付款。付款的必填字段之一是国家/地区。我的问题是如何知道用户的当前位置?我不需要地图。我只想要一个国名。
答案 0 :(得分:1)
添加带有国家/地区下拉列表的表单字段,然后让用户选择。
您可以使用geoip作为第一个猜测,但是仅应该使用此类下拉列表的默认值,因为用户可能正在使用代理。
修改强>
由于您使用的是Django,我建议您使用随附的电池:https://docs.djangoproject.com/en/dev/ref/contrib/gis/geoip/
我宁愿 NOT 使用外部服务。这会降低您的网站速度,导致不必要的依赖。
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.