我有一个功能,可以创建如下所示的新课程,如果课程是新的,那么需要0个参数。 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给定)
我做错了什么?
答案 0 :(得分: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))