Python 如何使用flask将信息加载到数据库中?
试图通过制作一个网络应用来自学。我无法将用户的输入发布到我的数据库,当我加载页面,然后尝试通过我的表单提交信息时,我收到以下405错误: “GET/HTTP/1.1”200- “POST/HTTP/1.1”405- 如有任何见解,将不胜感激,谢谢 以下是python代码片段:Python 如何使用flask将信息加载到数据库中?,python,html,web,flask,http-status-code-405,Python,Html,Web,Flask,Http Status Code 405,试图通过制作一个网络应用来自学。我无法将用户的输入发布到我的数据库,当我加载页面,然后尝试通过我的表单提交信息时,我收到以下405错误: “GET/HTTP/1.1”200- “POST/HTTP/1.1”405- 如有任何见解,将不胜感激,谢谢 以下是python代码片段: session = DBSession() app = Flask(__name__) @app.route('/') def index(methods=['GET','POST']): print requ
session = DBSession()
app = Flask(__name__)
@app.route('/')
def index(methods=['GET','POST']):
print request.method
if request.method == 'POST':
instances = session.query(Vocab)
newItem = Vocab(id=len(instances), word=request.form['new_word'])
session.add(newItem)
session.commit()
instances = session.query(Vocab)
return render_template('vocab_template.html', instances = instances)
html模板:
沃卡布
话!
{%i在实例%}
{{i.word}}
{%endfor%}
你们非常接近
@app.route('/',methods=['GET','POST'])
def index():
print request.method
...
该方法应在route中定义,而不是在view函数中定义 文档链接: 文档示例:
@app.route('/login', methods=['GET', 'POST'])
def login():
if request.method == 'POST':
do_the_login()
else:
show_the_login_form()
请不要在此处手动增加
id
Vocab(id=len(实例)…
。删除条目时,此方法将失败!您的数据库可能会处理此增量。请在不使用该关键字的情况下尝试:Vocab(word=request.form['new\u word'])
@Wombatz如果这是一个问题,它将引发一个异常而不是405,对吗?我认为问题在于方法的定义(参见Joran Beasley的答案)。不过,解决此问题后,Nali可能会遇到id增量问题。不过,这是一个好问题。@Aaron是的,这只是一个旁注。当我发表评论时,已经有了正确的答案,所以我没有明确说明,我的评论不是解决方案。我的bad@Wombatz不不,我真的很感激,因为我错过了first,我从你的评论中学到了一些东西。@Aaron非常感谢。之前我不知道,但因为你的评论,我查阅了自动递增法。这使生活变得更加轻松。