【发布时间】:2010-11-26 00:25:39
【问题描述】:
我的 models.py 文件中有这个东西
user = models.ForeignKey('auth.User', unique = True)
latitude = models.DecimalField(max_digits=8, decimal_places=6)
longitude = models.DecimalField(max_digits=8, decimal_places=6)
Availability = models.CharField(max_length=8,choices=STATUS_CHOICES, blank= False, null=False)
Status = models.CharField(max_length=50, blank = True, null= True)
在forms.py中我有
class registerForm(forms.ModelForm):
class Meta:
model=register
fields = ('latitude', 'longitude', 'Availability', 'Status')
现在我想要的是对用户的 IP 地址进行地理编码,并在对 IP 进行地理编码后自动获取纬度和经度并将其保存到数据库中。我不想让用户手动输入纬度和经度,因为这会很奇怪,而且肯定没有人愿意手动输入。 我正在使用 GeoIP 对 IP 地址进行地理编码。在我的views.py中我有
def Userlocation(request):
if request.method == "POST":
rform = registerForm(data = request.POST)
if rform.is_valid():
register = rform.save(commit=False)
register.user=request.user
register.save()
return render_to_response('home.html')
else:
rform = registerForm()
return render_to_response('status_set.html',{'rform':rform})
我正在寻找一种从 GeoIP 自动获取纬度、经度并将其放置在表单中的纬度经度字段中的方法,这样用户就不必手动输入它。然后在输入状态和可用性后,表格可以保存到数据库中。 任何帮助将不胜感激
【问题讨论】:
标签: django django-forms geocoding geoip