您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何将HTML5地理位置数据保存到python Django admin?

如何将HTML5地理位置数据保存到python Django admin?

我已经使用jQuery和Ajax将经度和纬度数据提交到要存储这些数据的任何模型。

在您的model.py中:

    from django.contrib.auth import User
    class UserGeoLocation(models.Model):

         user = models.OneToOneField(User)
         latitude = models.FloatField(blank=False, null=False)
         longitude = models.FloatField(blank=False, null=False)

为您的view.py

    def save_user_geolocation(request):

         if request.method == 'POST':
             latitude = request.POST['lat']
             longitude = request.POST['long']
             UserGeoLocation.create(
                  user = request.user
                  latitude= latitude,
                  longitude = longitude,


              )

            return HttpResponse('')

现在我们有了视图,我们可以设置一个URL端点来提交发布请求

  url('^abc/xyz/$', appname.views.save_user_geolocation)

最后是实际形式

  $(document).on('submit', '#id', function(e){
      e.preventDefault();
      $.ajax(

       type='POST',
       url = 'abc/xyz',
       data : {

           lat:position.coords.latitude,
           long: position.coords.longitude
           csrfmiddlewaretoken:$('input[name=csrfmiddlewaretoken]').val()
         },
        });

对于最后一步,假设您使用了链接示例中的js代码,然后可以将这些坐标值分配给变量,这些变量将随用户单击按钮时触发的发布请求一起提交。您要从中提交数据的表单的ID,e.PreventDefault用于阻止发布数据时重新加载页面。最后,django需要csrf令牌才能提交表单。

python 2022/1/1 18:39:01 有254人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶