UnboundLocalError: локальная переменная ‘val’, на которую ссылаются перед назначением

#python #flask

Вопрос:

пожалуйста, попробуйте решить мою проблему, я использую фреймворк Flask

 @app.route("/",methods = ["GET","POST"])  def hello():  if request.method == "POST":   text = request.form['txt']   val = m.predict_statement(text)  return render_template("index.html",values = val)  

Комментарии:

1. когда глагол запроса является GET оператором if if request.method == "POST": , он не выполняется, поэтому в return render_template("index.html",values = val) val не инициализируется, и вы получаете ошибку.

2. Что произойдет, если метод запроса не является «POST»?

Ответ №1:

Вероятно, самым простым способом справиться с этим было бы.

 @app.route("/",methods = ["GET","POST"]) def hello():  val = None  if request.method == "POST":   text = request.form['txt']   val = m.predict_statement(text)  return render_template("index.html",values = val)  

Затем в шаблоне вы можете создать блок if, который, если вы хотите, будет делать все, что вы хотите.

 {% if values %} whatever code you want {% endif %}