Django使用来自前端python类的函数?

2024-10-05 20:03:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我是Django的新手,但是我成功地为我的网站创建了后端和前端,但是在前端我连接到一个外部套接字并动态地获取数据,我实现了一个类,该类具有函数add_data2GraphDB(Data),该函数将元素添加到我的图形数据库中

如何从前端调用此函数,以便在后端应用它而不影响网站的呈现。你知道吗

这是前端页面上的js代码

<script>
eventToListenTo = 'tx'
room = 'inv'

var socket = io("https://blockexplorer.com/");
socket.on('connect', function() {
  // Join the room.
  socket.emit('subscribe', room);
})

socket.on(eventToListenTo, function(data) {

***add_data2GraphDB(Data)***;
})
</script>

同样,在获得数据后,我会将其查看给能够检查此数据详细信息的用户,以便在查看之前将其添加到图形中


Tags: 数据django函数add图形data网站on
2条回答

我通过使用ajax解决了这个问题,@Ehvince还帮助我理解了api的概念 基本上在我使用的前端:

$.ajax({
    type:'POST',
    url:'/app/add2Graph/',
    data:{
        tx:data.txid,
        csrfmiddlewaretoken:$('input[name=csrfmiddlewaretoken]').val()
    },
    success:function(result){
    console.log(result)
    }
});

在后端我添加了URL

url(r'^app/add2Graph/$',addTx2graph, name='add2graph'),

在api中我添加了:

def addTx2graph(request):
transactionInfo="Unknown transaction" 
if request.method=='POST':
    tx=request.POST['tx']
    transactionInfo=addTransaction(tx)
return HttpResponse("success")

您可以开始向Django应用程序提供一个api点,该api点将从请求主体(或/和请求参数)获取参数并调用您的函数。所以创建一个类似/api/add2grah的url。在前端用一个经典的异步调用调用它。你知道吗

现在,如果您的函数需要很长时间,您可能需要开始使用任务队列,这样您的api函数会立即返回,而add2Graph会在后面运行。好的和简单的解决方案是HueyDjango-q或django rq(它们比芹菜简单)。你知道吗

这能回答什么吗?你知道吗

相关问题 更多 >