#python #ajax #flask-wtforms
#питон #аякс #колба-wtформы
Вопрос:
Я создал форму колбы, показанную здесь
class Simnameform(FlaskForm): print("this works") name = StringField("Save simulation as") print("name ting") submit = SubmitField("SAVE") print("submit thing") def validate_name(self,name): if Simulation.query.filter_by(file=name.data ".json"): raise ValidationError('Simulation with this name already exists') else: return True
Затем, когда на html-странице нажимается кнопка, я вызываю функцию javascript, которая использует ajax для отправки данных в python. Эти данные-это то, что я хочу сохранить. Но после отправки данных я показываю модальный загрузчик, в который я хочу включить форму колбы, в которой запрашивается желаемое имя файла сохранения.
Но как только я скажу форма = Simnameform() (это название моего класса формы колбы) Я получаю ошибку:
ValueError: too many values to unpack (expected 2)
Это мой код колбы:
@sim.route('/save', methods=['GET', 'POST']) @login_required def save(): print(Simnameform()) form2 = Simnameform() print("after") if request.method == "POST": print("trying to save") data = request.get_json() name = form2.name if data == "Error, nothing to save": print("nothing to save") error = data return render_template('home.html', error=error) else: if form2.validate_on_submit(): if form2.validate_name(form2.name): network = data user = current_user.name user_id = current_user.id sim_name = add_simulation(network, user, name) new_sim = Simulation(file=sim_name, user_id=user_id) db.session.add(new_sim) db.session.commit() return jsonify(data) return render_template('home.html', form2=form2) return render_template('home.html', form2=form2) return redirect(url_for('sim.home'))
Я не уверен, в чем проблема.