Flask 为同一视图具有多个参数的post方法创建应用程序路由的有效方法是什么

Flask 为同一视图具有多个参数的post方法创建应用程序路由的有效方法是什么,flask,Flask,我有社会、数学、科学等系。。。 如果是社交,我将有3个参数 如果数学我有两个参数 如果我有6个参数 我如何使用单个应用程序路由动态编写它,并且它是一个post方法not GET,因此我不能使用request.args.GET,也不能使用WTForms直接捕获字段。我只需要在其他应用程序通过POST调用使用此API的地方创建服务 我怎样才能用一般的方式写出以下内容: @app.route("/name/<dept>", methods = ['POST', 'GET']) def Pr

我有社会、数学、科学等系。。。 如果是社交,我将有3个参数 如果数学我有两个参数 如果我有6个参数

我如何使用单个应用程序路由动态编写它,并且它是一个post方法not GET,因此我不能使用request.args.GET,也不能使用WTForms直接捕获字段。我只需要在其他应用程序通过POST调用使用此API的地方创建服务

我怎样才能用一般的方式写出以下内容:

@app.route("/name/<dept>", methods = ['POST', 'GET'])
def Process():
    if request.method == 'POST':
        process()
@app.route(“/name/”,方法=['POST','GET'])
def进程():
如果request.method==“POST”:
过程()
到目前为止,我正在为每一条路线做单独的工作,如下所示,是否有其他有效的方法

@app.route("/name/social/<part_time>/<pay>/<age>", methods = ['POST', 'GET'])
@app.route("/name/maths/<part_time>/<pay>", methods = ['POST', 'GET'])
@app.route(“/name/social//”,方法=['POST','GET']))
@app.route(“/name/maths/”,methods=['POST','GET']))
@app.route(“/name/science//”,methods=['POST','GET']))

到现在为止,我还是这样写的
@app.route(“/name/social//”,方法=['POST','GET']))
def processSocial():
如果request.method==“POST”:
过程()
@app.route(“/name/maths/”,methods=['POST','GET']))
def processmath():
如果request.method==“POST”:
过程()
@app.route(“/name/science//”,methods=['POST','GET']))
def processScience():
如果request.method==“POST”:
过程()
预期为:必须在单一批准中编写场景
实际:为每个部门编写不同的路线。

您可以在单个功能上使用多条路线,为什么要使用单一路线

@app.route("/name/<dept>/<part_time>/<pay>", methods = ['POST', 'GET'])
@app.route("/name/<dept>/<part_time>/<pay>/<age>", methods = ['POST', 'GET'])
@app.route("/name/<dept>/<part_time>/<pay>/<full_time>/<pay_full>/<age>/<designation>", methods = ['POST', 'GET'])
def processDept(dept, 
                part_time, 
                pay, 
                age=None, 
                full_time=None, 
                pay_full=None, 
                designation=None):
    if request.method == 'POST':
        process()
@app.route(“/name//”,方法=['POST','GET'])
@app.route(“/name//”,方法=['POST','GET']))
@app.route(“/name//”,methods=['POST','GET']))
def processDept(dept,
兼职,
支付
年龄=无,
全职=无,
全额支付=无,
名称=无):
如果request.method==“POST”:
过程()

所以对于单个定义,如果dept=='something',我需要有条件:process()对吗?但如果在那个里传递了age,该如何处理呢?因为def args中设置了age=None。在这个示例中,您并没有使用age,所以我怎么知道您想用它做什么?同样,在您调用
process()
的每个示例中,我不知道您是否需要任何条件。好的。。我们提到的参数是什么?我们必须根据部门类型捕获所有这些值…如果部门是社会性的,我需要捕获年龄,而对于数学,我不需要年龄值,它也不存在。
@app.route("/name/<dept>/<part_time>/<pay>", methods = ['POST', 'GET'])
@app.route("/name/<dept>/<part_time>/<pay>/<age>", methods = ['POST', 'GET'])
@app.route("/name/<dept>/<part_time>/<pay>/<full_time>/<pay_full>/<age>/<designation>", methods = ['POST', 'GET'])
def processDept(dept, 
                part_time, 
                pay, 
                age=None, 
                full_time=None, 
                pay_full=None, 
                designation=None):
    if request.method == 'POST':
        process()