Geodjango处理同一视图上的多个请求

时间:2018-12-10 13:01:45

标签: javascript python ajax geodjango

我正在开发一个用于可视化空间数据的Web应用程序。我要实现的功能(至少现在是这样)是要有一个按钮列表,每个按钮都将基于不同的过滤器使数据可视化。 更具体地说,我的基于django的服务器维护着一个带有停车传感器的数据库,每个数据库都有一个状态信息,“已占用”或“未占用”,这取决于相应停车场上方是否有汽车。 我想提供的功能是初始加载地图,不显示任何信息,然后有3个按钮: -一个显示该区域中的所有传感器 -一个显示占用的传感器 -一个显示空置的 我正在使用google-apis / javascript进行可视化。我猜每个按钮都会分配不同的ajax请求。 因此,基本上我的问题是在Django设计级别上。这些功能是否应该在同一视图中实现为不同的功能?如果是这样,那么应如何实现views.py中的功能以区分每次单击按钮时要调用哪个功能(也许应该将一些元数据作为论据从模板传递到视图以识别请求) )? 是否需要重定向到其他网址? 另外,我想每次显示可视化结果时,都应以某种方式清除来自先前请求的数据。 这是尝试根据我上面描述的一些元数据的概念来描述我正在寻找的东西: views.py:

def getAllSens(request):
if request.(#metadata1):
    data=Sensorsreal.objects.filter(status='Occupied')
elif request.(#metadata2):
    data=Sensorsreal.objects.filter(status='Unoccupied')
else
    data=Sensorsreal.objects.all()
return render_to_response('waypoints/index.html', {"sensors":data})

index.html:

...
<script>
var BPresSens=document.createElement('BUTTON');

mymap.controls[google.maps.ControlPosition.TOP_CENTER].push(BPresSens);

BPresSens.addEventListener('click', function() {    
$.ajax({
    url: '{% url "index" %}',
    method: 'GET', // or another (GET), whatever you need
    data: {
        click: true
        //metadata1
    },
    success: function (data, metadata1) {        
        putmarkers(mymap)
    }
});
});
</script>
...

我稍微沉默了一点,但令我惊讶的是,考虑到它是一个基本概念,我没有找到相关的问答。我发现的唯一相关主题是关于处理多种形式的,这是用户输入提交到django-backend部分的情况,因此与我的情况无关。 很抱歉没有提供更全面的代码,但无法提出更详细的内容。 预先感谢!

0 个答案:

没有答案