【发布时间】:2021-12-27 04:01:02
【问题描述】:
我正在尝试在 if 语句之外使用 searchData,以便可以在查询中使用该变量。但它给了我UnboundLocalError: local variable 'searchData' referenced before assignment的错误
@app.route('/ML', methods=['GET', 'POST'])
def index():
if request.method == "POST":
request_data = json.loads(request.data)
searchData = (request_data['content'])
return jsonify(searchData)
mycursor = mydb.cursor(dictionary=True)
query = "SELECT * FROM COMPANY WHERE COMPANY_NAME LIKE %s LIMIT 20;"
mycursor.execute(query,("%" + searchData + "%",))
myresult = mycursor.fetchall()
company = []
content = {}
for result in myresult:
content ={'COMPANY_NAME':result['COMPANY_NAME'],}
company.append(content)
content = {}
return jsonify(company)
我还尝试在我的 if 语句上方声明 searchData。它消除了错误,但我的 if 语句没有更改该值。它仍然是我声明它的方式。我感谢任何人可以提供的任何帮助。提前谢谢你。
【问题讨论】:
-
request.method 总是等于 POST 吗?
-
@Programmer 不,一旦将数据传递到我的 python 后端,我的前端也会从函数中获取
-
如果 request.method 不总是 POST,变量 searchedInput 可能不总是被声明。
-
@Programmer 你有什么建议可以解决这个问题?
标签: python mysql variables flask mysql-connector