使用Flask将数据从表单发送到另一个页面

时间:2020-09-09 04:58:29

标签: python html flask

    from flask import Flask, request, render_template
    import requests
    import numpy as np
    import joblib
    
    app = Flask(__name__)
    
    @app.route('/')
    def home():
        return render_template('home.html')



    
    @app.route('/nexthome')
    def nexthome():
        return render_template('nexthome.html')
    
    @app.route("/predict", methods=['GET', 'POST'])
    
    def predict():
        if request.method == 'POST':
            print(request.form.get('age'))
            try:
                total_training = float(request.form.get("total_training"))
                age = float(request.form.get('age'))
                length_of_service = float(request.form.get("length_of_service"))
                KPI = float(request.form.get("KPI"))
                awards_won = float(request.form.get("awards_won"))
                avg_training_score = float(request.form.get("avg_training_score"))
                previous_year_rating = float(request.form.get("previous_year_rating"))
                department_Analytics = float(request.form.get("department_Analytics"))
                department_Finance = float(request.form.get("department_Finance"))
                department_HR = float(request.form.get("department_HR"))
                department_Legal = float(request.form.get("department_Legal"))
                department_Operations = float(request.form.get("department_Operations"))
                department_Procurement = float(request.form.get("department_Procurement"))
                department_R = float(request.form.get("department_R"))
                department_Sales_Marketing = float(request.form.get("department_Sales_Marketing"))
                department_Technology = float(request.form.get("department_Technology"))
                education_level_Bachelor = float(request.form.get("education_level_Bachelor"))
                education_level_Below_Secondary = float(request.form.get("education_level_Below_Secondary"))
                education_level_Master = float(request.form.get("education_level_Master"))
                gender_f = float(request.form.get("gender_f"))
                gender_m = float(request.form.get("gender_m"))
                arguments = [total_training, age, length_of_service, KPI, awards_won, avg_training_score, previous_year_rating, department_R,
                            department_Analytics, department_Sales_Marketing, department_Finance, department_HR, department_Legal, department_Operations, department_Procurement,
                            department_Technology, education_level_Bachelor, education_level_Below_Secondary, education_level_Master, gender_f, gender_m]
                pred_arg = np.array(arguments)
                pred_arg = pred_arg.reshape(1, -1)
                load_model = open("decision_model.pkl", "rb")
                model = joblib.load(load_model)
                prediction = model.predict(pred_arg)
    
            except ValueError:
                return "Please Checked the Value Entered and Try again Cheers"
    
        return render_template("predict.html", final_prediction = prediction)
    
    
    
    if __name__ == "__main__":
        app.run(debug=True)
    
 home.html
<form action="/nexthome" method='GET'>

                      <div class="form-group">
                        <label for="gender_m"><p class="font-weight-bold">Male</p></label>
                        <input type="text" name="gender_m">
                        <small id="gender_mHelp" class="form-text text-muted">Enter 1 if employee belong to this gender </small>
                        </div>
 <input class='btn btn-primary' type='submit' value='Next'>
 </form>     

nexthome.html
<form method="POST" action="/predict">
<div class="form-group">
              <label for='age'><p class="font-weight-bold">age</p></label>
              <input type="text" name='age'>
              <small id="ageHelp" class="form-text text-muted">Enter the Age of the Employee</small></br>
              </div>
 <input class='btn btn-primary' type='submit' value='Submit'>
                        
</form>

大家好,我正在尝试使用Flask部署应用程序,该应用程序应该从两页的表单中检索数据,但是我不知道该怎么做,能够从首页导航到下一页,但似乎无法将数据传递到下一页,并且无法在另一页中显示结果,现在卡住了,我尝试了所有无法正常使用的方法。 任何帮助,请。

0 个答案:

没有答案
相关问题