如何正确地将POST请求从表单(wtforms)重定向/提交到RESTAPI(flask)上?

如何正确地将POST请求从表单(wtforms)重定向/提交到RESTAPI(flask)上?,flask,flask-wtforms,flask-restless,Flask,Flask Wtforms,Flask Restless,我找不到合适的方法将数据从提交的表单重定向到RESTAPI 当前-如下面的示例所示,在视图/路由中处理“POST”方法(请参阅路由“add_person()”) 我的示例数据模型(基于SQLAlchemy): 通过html呈现的表单(基于wtforms): 查看/路线声明: @views.route('add_person', methods=["GET", "POST"]) def add_person(): form = PersonForm() if request.met

我找不到合适的方法将数据从提交的表单重定向到RESTAPI

当前-如下面的示例所示,在视图/路由中处理“POST”方法(请参阅路由“add_person()”)

我的示例数据模型(基于SQLAlchemy):

通过html呈现的表单(基于wtforms):

查看/路线声明:

@views.route('add_person', methods=["GET", "POST"])
def add_person():
    form = PersonForm()
    if request.method == 'POST' and form.validate_on_submit():
        person = Person()
        person.name = form.name.data
        db.session.add(person)
        db.session.commit()
        return redirect(url_for('view.add_person'))
    return render_template('person_add.html', form=form)        
HTML模板:

<form method="POST" action="/add_person">
    {{ form.csrf_token }}
    {{ form.name.label }} {{ form.name(size=20) }}
    <input type="submit" value="Submit">
</form>
致:

然后我被重定向到API url,所以我想这不是一个正确的方法

我认为我仍然应该使用视图/路由处理,并在那里进行POST api调用,而不是持久化“Person”对象。这是最干净的解决方案吗?我怎样才能做到这一点

我自己来回答。 最后,我继续使用Flask中处理的表单的“/add_person”POST操作,然后使用Python“requests”库向API端点发出请求

@views.route('add_person', methods=["GET", "POST"])
def add_person():
    form = PersonForm()
    if request.method == 'POST' and form.validate_on_submit():
        person = Person()
        person.name = form.name.data
        db.session.add(person)
        db.session.commit()
        return redirect(url_for('view.add_person'))
    return render_template('person_add.html', form=form)        
<form method="POST" action="/add_person">
    {{ form.csrf_token }}
    {{ form.name.label }} {{ form.name(size=20) }}
    <input type="submit" value="Submit">
</form>
"/add_person"
"/api/person",