为什么我的网站在python中抛出POST错误?
我正在向传奇联盟API发送JSON文件请求。在其他3次尝试中,它对我有效,但在最后一次中它没有。我不知道为什么,也找不到任何错误 获取JSON文件的请求为什么我的网站在python中抛出POST错误?,python,json,api,flask,python-requests,Python,Json,Api,Flask,Python Requests,我正在向传奇联盟API发送JSON文件请求。在其他3次尝试中,它对我有效,但在最后一次中它没有。我不知道为什么,也找不到任何错误 获取JSON文件的请求 def challengerPlayers(region, types, APIkey): URL = "https://" + region + ".api.pvp.net/api/lol/" + region + "/v2.5/league/master?type=" + types + "&api_key=" + APIk
def challengerPlayers(region, types, APIkey):
URL = "https://" + region + ".api.pvp.net/api/lol/" + region + "/v2.5/league/master?type=" + types + "&api_key=" + APIkey
response = requests.get(URL)
return response.json()
{
"queue": "RANKED_SOLO_5x5",
"name": "Nasus's Agents",
"entries": [
{
"leaguePoints": 0,
"isFreshBlood": false,
"isHotStreak": false,
"division": "I",
"isInactive": false,
"isVeteran": true,
"losses": 402,
"playerOrTeamName": "Ä L F A",
"playerOrTeamId": "28880245",
"wins": 445
}
}
我的网站功能为返回结果。
错误所在的位置用注释突出显示
@app.route('/hello', methods=['post'])
def hello():
region = request.form['region']
summonerName = request.form['summonerName']
APIkey = request.form['APIkey']
types = request.form['types']
responseJSON = getData(region, summonerName, APIkey)
ID = responseJSON[summonerName]['id']
ID = str(ID)
responseJSON2 = getRankedData(region, ID, APIkey)
divisionName = responseJSON2[ID][0]['name']
responseJSON3 = challengerPlayers(region, str(types), APIkey)
#Here is the problem ↓↓↓
challengerPlayers = responseJSON3['entries'][0]
#print challengerPlayers
return render_template('form_action.html', ID = ID, divisionName = divisionName, challengerPlayers = challengerPlayers)
最后,但并非最不重要的是,我的网站表单
<form class="form" method="post" action="/hello">
<div class="form-group">
<label for="regio">Region</label>
<input type="text" name="region" />
</div>
<div class="form-group">
<label for="summonerNam">Summoner Name</label>
<input type="text" name="summonerName" />
</div>
<div class="form-group">
<label for="apiKe">API Key</label>
<input type="text" name="APIkey" />
</div>
<div class="form-group">
<label for="type">Ranked type</label>
<input type="text" name="types" />
</div>
<button type="submit" class="btn btn-default">Submit</button>
</form>
错误并不完全在你认为的地方
responseJSON3 = challengerPlayers(region, str(types), APIkey)
#Here is the problem ↓↓↓
challengerPlayers = responseJSON3['entries'][0]
#print challengerPlayers
错误实际上在上面的第一行,您可以在屏幕截图上看到它。您调用了challengerPlayers函数,但它没有定义,这正是错误消息告诉您的
您应该实现此函数或修复函数调用中的名称
顺便说一下,调用与函数同名的变量是一种不好的做法。请提供exception@ValentinLorentz你是说错误吗?错误是:POST/hello HTTP/1.1500-是的,但这还不够。使用调试/测试模式显示完整错误。我希望,您正在查找以下内容:UnboundLocalError:在assignmentOk之前引用的局部变量“challengerPlayers”。以后,请在问题正文中以文本形式提供错误。是的,非常感谢,我与您同时发现它:D: