0

After user selects/inputs the data of interest, how can I use that result to execute another function -- then using the 2nd function's result either in the same page, or another page.

Consider this MWE

from flask import Flask,render_template
from flask_wtf import FlaskForm
from wtforms.fields import DecimalRangeField, SubmitField, StringField
from wtforms.validators import Length, InputRequired
import uuid

app = Flask(__name__)
app.config['SECRET_KEY'] = uuid.uuid4().hex

# form to collect user input:
class InputForm(FlaskForm):
    feature = StringField('feature', default='', validators=[InputRequired(), Length(min=3, max=45)])
    project = StringField('project', default='', validators=[InputRequired(), Length(min=3, max=45)])
    submit = SubmitField('Submit')

@app.route("/", methods=['POST', 'GET'])
def index():
    form = InputForm()
    if form.validate_on_submit():

        # get user input
        selected_feature = form.feature.data
        selected_project = form.project.data
    return render_template("index.html", form=form)

if __name__=="__main__":
    app.run()

with Index.html

<!DOCTYPE html>
<html lang="en">

<head>
</head>

<body>
  <div class="container">
    <form action="" method="post" role="form">
      {{ form.csrf_token }}

      <!-- START ROW -->

              <!-- Feature Name -->
              <p>
                <span class="f5">Feature Name</span><span class="f6 i mid-gray fr"></span>
              </p>
              <p>
                <span class="slider">{{ form.feature() }}</span>
                <span id="val_feature" class="fr"></span>
              </p>
              <!-- Project Name -->
              <p>
                <span class="f5">Project Name</span><span class="f6 i mid-gray fr"></span>
              </p>
              <p>
                <span class="slider">{{ form.project() }}</span>
                <span id="val_project" class="fr"></span>
              </p>

              <div class="br3 box bg-white pa3 mt2 center-align">
                {{ form.submit(class_="btn") }}</div>
               </div>
        </div>

</body>

</html>
John Stud
  • 1,506
  • 23
  • 46

0 Answers0