我正在尝试将表单(显示在我的books.html
页面底部(请参见下面的相关HTML)提交至/reviews
路由,该路由具有一个{{1} }中的语句。但是,在提交表单时,我收到了return redirect(url_for('reviews'))
。
我检查了其他帖子,发现重定向是与POST方法一起使用的,对我的方法进行了交叉检查,以提交到达405 Method Not Allowed Error
和/books
路线所需的表单及其表单动作属性及其相关方法。一切似乎都很好。我仍然无法发掘错误。
期望的行为是用户通过下面/reviews
页上的表单提交评论,并且该页面会更新并显示评论,评分和平均值。评分。 /books
路由中的逻辑应进行处理和更新。
/reviews
答案 0 :(得分:0)
您可以尝试在方法中添加“ GET”吗?
@app.route("/reviews", methods=["GET", "POST"])
@login_required
def reviews():
book_id = request.form.get("bookid")
register_id = session["user_id"]
可能是flask中的重定向实现将请求更改为GET请求,而您的评论路线不允许该请求
答案 1 :(得分:0)
这是因为您要重定向到评论功能(即路线/评论)。但是您的方法只能发布。我认为重定向需要GET方法才能加载某些页面。