Flask 始终使用默认函数参数重新路由

Flask 始终使用默认函数参数重新路由,flask,routing,Flask,Routing,给定一个如下所示的路由,我发现如果参数test有一个默认值,那么当通过url\u为传递一个值并带有重定向时,它不会改变。我希望在呈现模板时更改参数test,具体取决于表单是否刚刚提交 @app.route('/view_story/<story_id>', methods=['GET', 'POST']) def view_story(story_id, test='no'): ... if current_user.is_authenticated:

给定一个如下所示的路由,我发现如果参数test有一个默认值,那么当通过url\u为传递一个值并带有重定向时,它不会改变。我希望在呈现模板时更改参数test,具体取决于表单是否刚刚提交

@app.route('/view_story/<story_id>', methods=['GET', 'POST'])
def view_story(story_id, test='no'):
    ...
    if current_user.is_authenticated:
        if request.method == 'POST':
            #Add stuff to database from the form. 
            return redirect(url_for('view_story', story_id=story_id, test='yes'))

    return render_template('story.html', test=test)
@app.route('/view\u story/',methods=['GET','POST'])
def view_story(story_id,test='no'):
...
如果当前用户已通过身份验证:
如果request.method==“POST”:
#从表单向数据库添加内容。
返回重定向(url\u for('view\u story',story\u id=story\u id,test='yes'))
返回呈现模板('story.html',test=test)
尝试以下代码:

@app.route('/view_story/',默认值={“test”:“no”})
@app.route('/view_story/',methods=['GET','POST'])
def视图故事(故事id,测试):
...
如果当前用户已通过身份验证:
如果request.method==“POST”:
#从表单向数据库添加内容。
返回重定向(url\u for('view\u story',story\u id=story\u id,test='yes'))
返回呈现模板('story.html',test=test)

@fuzzylogical,如果您认为这澄清了您的问题,请投票/接受答案。