Python 将额外参数传递给Sanic';s柱

Python 将额外参数传递给Sanic';s柱,python,post,python-requests,sanic,Python,Post,Python Requests,Sanic,情况是,我有人的密码离开了我的办公室。他使用了Sanic框架。现在,客户端请求了一些更改。我必须向服务器发送额外的数据,这些数据将存储在数据库中,以后可以检索 代码: 先前的代码是: def send_update_to_server(v_Number, state, server_url): data = {'state': state} address_to_send = "http://{}/vote/{}".format(server_url, v_Numbe

情况是,我有人的密码离开了我的办公室。他使用了Sanic框架。现在,客户端请求了一些更改。我必须向服务器发送额外的数据,这些数据将存储在数据库中,以后可以检索

代码:

先前的代码是:

def send_update_to_server(v_Number, state, server_url):
  data = {'state': state}
  address_to_send = "http://{}/vote/{}".format(server_url, v_Number)
  r = requests.post(address_to_send, json=data)
因此,为了发送附加数据,我添加了要发送的变量:

def send_update_to_server(v_Number, state, server_url, new_number):
  data = {'state': state}
  address_to_send = "http://{}/vote/{}".format(server_url, v_Number)
  r = requests.post(address_to_send, new_number, json=data)
Sanic侧的post方法为:

async def post(self, request, *args, **kwargs):
  //some_code

现在,我无法使用requests.post从代码中检索新的_编号。有人能帮我吗?我对服务器端编程非常陌生,尤其是Sanic。如果需要,我很乐意提供额外的代码。

发送到Sanic端点的所有json数据都可以通过
请求获得。json
,请参阅

所以,看起来你只需要这样做:

def将更新发送到服务器(v_编号、状态、服务器url、新编号):
数据={'state':状态,'new_number':new_number}
address_to_send=“http://{}/vote/{}”。格式(服务器url,v_编号)
r=requests.post(地址为发送,json=data)
然后,您可以在处理程序中读取它:

从sanic.response导入文本
异步def post(self、request、*args、**kwargs):
返回文本(request.json.get(“new_number”))

我找不到解决方案,因此决定采取变通办法。我将发送新的带有v_编号的_编号,我将在服务器端将它们分开并执行所需的操作。非常感谢您的回答。这对我有用。我还有一个问题,如果你能帮我的话。如上所述,post请求发送时带有“投票/v_编号”。在后端,get请求也类似于期望“v_Number”的请求。但我希望在我发送get请求时,通过post请求提前发布v_编号。我需要为此创建另一条路线吗?目前,post请求中的v_编号存储在使用motor的mongo数据库中(我也不太知道如何检索值)。如果您想在上发送消息,我们可以进行更深入的讨论。如果我无法使其工作,我将尝试一些方法并就此与您联系。再次感谢您的帮助。:)