Я не могу передать значение от flask, чтобы реагировать, когда я назначил его переменной - PullRequest
0 голосов
/ 16 апреля 2020

Я не могу передать значение из 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 и надеюсь, что вы, ребята, сможете помочь мне решить эту глупую проблему. Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...