返回页面问题(已经解决)

在初级教程里,有个编辑电影数据的页面

@app.route('/parameter/edit/<int:parameter_id>', methods=['GET', 'POST'])
def edit(parameter_id):
    parameter = Parameter.query.get_or_404(parameter_id) 

    if request.method == 'POST': 
        name = request.form['name']
        value = request.form['value']
        
        if not name or not value:
            flash('Invalid input.')
            return redirect(url_for('edit', parameter_id=parameter_id))  # 重定向回对应的编辑页面

        parameter.name = name  # 更新标题
        parameter.value = value  # 更新年份
        db.session.commit()  # 提交数据库会话
        flash('Item updated.') #flash提示信息
        return redirect(url_for('index'))  # 重定向回主页

    return render_template('edit.html', parameter=parameter)

更新数据后,因为有重定向,会再回到主页

我新写了一个页面,是由主页链接跳转过去的
可以填一些选择的内容

@app.route('/select', methods=('GET', 'POST'))
def select():
    form = Form() 
    return render_template('select.html', form=form)

我没有写重定向,但每次也依然跳回index页面,页面上flash信息也会报错
显示 Invalid input.

是不是这个页面跟edit页面哪里冲突了,被当成了是编辑页面,但是没有报错信息,不太看得懂

想请教下怎么写才能在selcet.html页面提交后能还保留在select页面,能够跟首页信息不冲突。

如果你select()函数里的确没有重定向的话,那么问题可能出在渲染表单的时候,form的action属性设置出现了问题,或者你把select.html的代码贴出来看看

1 个赞

感谢 确实如此,form的action忘记修改了