Я не могу передать значение из flask, чтобы среагировать. Когда я проверяю его на Почтальоне, я могу получить желаемый результат (это мой прогноз), но я не могу отобразить его на своем интерфейсе реакции. Он всегда принимает значение по умолчанию, которое равно «test1».
Я изменил код, чтобы проверить, могу ли я передать time.time () в качестве окончательного результата вместо предсказания, и я смог отобразить время при реагировании внешний интерфейс. Но когда я назначаю свою переменнуюgnation_class, тогда отображается значение по умолчанию.
Это мой flask код
import os
from flask import Flask, jsonify, request
from model.Train import train_model
from sklearn.externals import joblib
from flask_cors import CORS
from flask_restful import Api, Resource
import numpy as np
import time
app = Flask(__name__)
api = Api(app)
CORS(app)
if not os.path.isfile('iris-model.model'):
train_model()
model = joblib.load('iris-model.model')
@app.route('/predict')
def get_current_time():
posted_data = request.get_json()
sepal_length = posted_data['sepal_length']
sepal_width = posted_data['sepal_width']
petal_length = posted_data['petal_length']
petal_width = posted_data['petal_width']
prediction = model.predict([[sepal_length, sepal_width, petal_length, petal_width]])[0]
if prediction == 0:
predicted_class = "Iris-setosa"
elif prediction == 1:
predicted_class = "Iris-versicolor"
else:
predicted_class = "Iris-virginica"
return {'predict': predicted_class}
if __name__ == '__main__':
app.run(debug=True)
Это мой код реакции
import React, { useState, useEffect } from 'react';
import logo from './logo.svg';
import './App.css';
function App() {
const [displayType, predictedType] = useState("test1");
useEffect(() => {
fetch('/predict').then(res => res.json()).then(data => {
predictedType(data.predict);
});
}, []);
return (
<div className="App">
<header className="App-header">
<img src={logo} className="App-logo" alt="logo" />
<p>
Edit <code>src/App.js</code> and save to reload.
</p>
<a
className="App-link"
href="https://reactjs.org"
target="_blank"
rel="noopener noreferrer"
>
Learn React
</a>
<p> The predicted type is {displayType}</p>
</header>
</div>
);
}
export default App;
Я новичок в flask и надеюсь, что вы, ребята, сможете помочь мне решить эту глупую проблему. Спасибо