0

我有一个生成新课程的功能,如下所示,如果课程是新的,则需要 0 args;如果刚刚尝试创建但验证失败,则需要 5。

路线:

@app.route('/courses/new')
def new_course(*args):
    if len(args) == 5:
        ...
    else:
        ...

呼叫者,召集者:

...
return redirect(url_for('new_course',  int(request.form['id']), course_code, semester, year, student_ids))

我收到错误消息 url_for() 需要 1 个参数(给定 6 个)。或者如果我尝试:

...
return redirect(url_for('new_course',  args[int(request.form['id']), course_code, semester, year, student_ids]))

我收到错误消息 new_course() 需要 5 个参数(给定 0)

我究竟做错了什么?

4

1 回答 1

5

url_for 将键值对作为参数,更多信息请参考:http: //flask.pocoo.org/docs/api/#flask.url_for

这将起作用:

@app.route('/courses/new/') # Added trailing slashes. For more check http://flask.pocoo.org/docs/api/#url-route-registrations
def new_course():
    # use request.args to fetch query strings
    # For example: id = request.args.get('id')

呼叫者,召集者:

return redirect(url_for('new_course',  id=int(request.form['id']), code=course_code, sem=semester, year=year, student_id=student_ids))
于 2013-08-12T08:32:11.600 回答