我收到以下错误,每当我尝试将数据提交给我瓶形式:瓶错误:“不允许的方法的方法是不允许的请求的URL”
Method Not Allowed The method is not allowed for the requested URL.
我认为这个问题是在return redirect(url_for('database'))
我正在做。我也试过return render_template('database.html)
。我试图在表单条目被提交到数据库后调用数据库页面。是
我的代码的相关部分如下:
@app.route('/entry', methods=['GET', 'POST'])
def entry_page():
if request.method == 'POST':
date = request.form['date']
title = request.form['blog_title']
post = request.form['blog_main']
post_entry = models.BlogPost(date = date, title = title, post = post)
db.session.add(post_entry)
db.session.commit()
return redirect(url_for('database'))
else:
return render_template('entry.html')
@app.route('/database')
def database():
query = []
for i in session.query(models.BlogPost):
query.append((i.title, i.post, i.date))
return render_template('database.html', query = query)
entry.html是...
THIS IS THE BLOG ENTRY PAGE
blog:
<html>
<form action='/database' method = "post">
date<input name = "date" type = "text" class="text">
title<input name = "blog_title" type = "text" class="text">
main<input name = "blog_main" type = "text" class="text">
<input type = "submit">
</form>
</html>
和database.html ...
THIS IS THE QUERY:
{{query}}
谢谢,这样做的工作。虽然由于某种原因,它不再向数据库提交。 –
这是因为您的数据库提交功能在您的entry_page函数中,而您的表单文章正在重定向到数据库函数。 您可能希望将该逻辑移出entry_page函数并将其放入数据库函数 – Wondercricket
再次感谢,该工作正常!我不确定我完全理解为什么。我要求它在重定向发生之前将数据提交到数据库,并且当我重定向到'/ database'以外的页面时,这会起作用。无论如何,感谢您的帮助。 –