相关疑难解决方法(0)

如何使用Flask将数据从JS发送到Python?

我正在使用Flask创建一个网站,我希望能够使用页面中的数据执行python代码.我知道我可以简单地使用表单,但它是一个单页,它在接收用户输入时不断更新,每次发生某些事情时重新加载页面都是一个巨大的麻烦.我知道我可以{{ function() }}在javascript里面做,但我如何{{ function(args) }}使用js变量在javascript里面做?到目前为止,我唯一能想到的是使用js更新像MongoDB这样的外部数据库,然后使用Python来读取它,但是这个过程会使网站变慢很多.

jQuery需要从Python函数中获取一个字典对象列表,然后可以在html中使用它.所以我需要能够做到这样的事情:

JS:

var dictlist = { getDictList(args) };
dictlist.each(function() {
    $("<.Class>").text($(this)['Value']).appendTo("#element");
});
Run Code Online (Sandbox Code Playgroud)

蟒蛇:

def getDictList(args):
    return dictlistMadeFromArgs
Run Code Online (Sandbox Code Playgroud)

javascript python jquery flask

10
推荐指数
2
解决办法
3万
查看次数

Python:如何通过在Python代码中使用JS Leaflet来扩展Folium功能(例如测量距离)?

我已经开始使用 Folium 在 GUI 中发布一些地图。用户可以输入开始和结束坐标,它们显示为Folium Markers。我知道 Folium 库只是 Leaflet 的包装器,那么我们可以使用父库来实现 Folium 中不存在的方法吗?

例如,我想使用Leaflet.LatLng.distanceTo已实现的余弦球面定律来计算起始坐标和结束坐标之间的距离。我如何在我的.py文件中使用它们?

我附加了这个示例代码来表示我陷入困境的地方:

       .
       ..
       ...
       self.map = QtWebEngineWidgets.QWebEngineView(self.centralwidget)
       ..
       ..
        self.m = folium.Map(
            location=[32.5236, 54], tiles="Stamen terrain", zoom_start=5, control_scale= True,
            box_zoom= True)

        # adds the markers
        self.marker1 =  folium.Marker((lat_1, lng_1)).add_to(self.m)
        self.marker2 =  folium.Marker((lat_2, lng_2)).add_to(self.m)

        #add above to the map
        self.data = io.BytesIO()
        self.m.save(self.data, close_file=False)
        self.map.setHtml(self.data.getvalue().decode())
        self.m.add_child(folium.LatLngPopup())

        """ 
        Enter the JavaScript Leaflet
        {
         Here I want "Leaflet.distanceTo((lat_1, lng_1), (lat_2, lng_2))" method
         }
        """ …
Run Code Online (Sandbox Code Playgroud)

javascript python leaflet folium

2
推荐指数
1
解决办法
2395
查看次数

标签 统计

javascript ×2

python ×2

flask ×1

folium ×1

jquery ×1

leaflet ×1