在同一Flask中获得并张贴

2024-09-27 21:33:13 发布

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

@app.route('/predict', methods=['GET', 'POST'])
def predict1(): 
  # radio = 0
  if request.method == 'POST':
      value = request.get_json()

      if(value['radioValue'] == 'word'):         
          radio = 0
          return "ok"
      elif(value['radioValue'] == 'sentence'):  
          radio = 1  
          return "ok"    
  else:                                          
      if(radio==0):          
          lists = ["my","word"]
      elif(radio==1):   
          lists = ["my","sentence"]
    
      return jsonify({'prediction': lists})

您好,我是Flask和web开发的新手。这是我的问题,我得到两个单选按钮值,分别是单词和句子。如果值是word else ^{,我想传递lists = ["my","word"]

但是这里jsonify()没有返回任何内容。那么我做错了什么? 虽然它返回列表,但若我在if-else块之外声明了一个单选变量,正如你们所看到的,我把它们注释掉了。 另外,如果我在post中没有返回任何内容,那么即使我在if-else块外声明radio=0或1,它也不会返回任何内容。 简短的解释会很有帮助


Tags: 内容returnifvaluerequestmyokpost
1条回答
网友
1楼 · 发布于 2024-09-27 21:33:13

如果检查调试日志,您可能会看到一个NameError,其中未定义radio。这是因为radio是一个局部变量,而不是您可能想要的会话变量

要在Flask中存储变量以供进一步使用,需要使用sessions

from flask import session

@app.route('/predict', methods=['GET', 'POST'])
def predict1(): 
  if request.method == 'POST':
      value = request.get_json()
      if(value['radioValue'] == 'word'):         
          session["radio"] = 0
          return "ok"
      elif(value['radioValue'] == 'sentence'):  
          session["radio"] = 1  
          return "ok"    
  else:                                          
      if(session["radio"]==0):          
          lists = ["my","word"]
      elif(session["radio"]==1):   
          lists = ["my","sentence"]
    
      return jsonify({'prediction': lists})

相关问题 更多 >

    热门问题