我之前发布了这个问题,但它随后被链接到一个类似的问题,该问题没有提供所需的解决方案,然后被关闭以供回答。
因此,我创建了一个 Flask 应用程序,它跟踪产品从一个位置到另一个位置的移动,同时我通过 Flask 应用程序进行移动,表单没有得到验证我尝试添加并添加到从用户那里获取输入的 html{{ form.hidden_tag() }}文件{{ form.csrf_token }}。
如果我从终端在我的命令行上运行这个应用程序,表单会被验证并被添加到数据库中,但是如果我运行 flask 应用程序并在浏览器中提交表单,它不会。
这是我的代码
class MovementForm(FlaskForm):
to_location = SelectField('To Location', coerce=int)
from_location = SelectField('From Location', coerce=int)
product = SelectField('Product')
quantity = IntegerField('Quantity')
add_movement = SubmitField('Add Movement')
@app.route('/movements',methods=["GET","POST"])
def add_movements():
form = MovementForm()
form.to_location.choices = [(location.id, location.location_name) for location in Location.query.all()]
form.from_location.choices = [(location.id, location.location_name) for location in Location.query.all()]
form.product.choices = [(product.id, product.product_name) for product in Product.query.all()]
form.from_location.choices.insert(0, (0, 'None'))
if form.validate_on_submit():
new_movement = Movement(to_location_id=form.to_location.data, from_location_id=form.from_location.data, product_id=form.product.data, quantity=form.quantity.data)
db.session.add(new_movement)
db.session.commit()
flash('Product has been moved!', 'success')
return redirect(url_for('add_movements'))
return render_template('add_movements.html', form=form)
这里出了什么问题?
郎朗坤
相关分类