0
私はこの簡単なフォームデータをPOSTメソッドを使用してMySQLデータベースに送信しようとしています。同じエラー "メソッドが許可されていません"、私は何が間違っているのか分からない。ここで私を助けてください。Flask - 405、メソッドが許可されていません
HTMLコード:
<form role="form" action='/updateabbprof' method="POST">
<div class="form-group">
<label class="control-label">About Us</label>
<textarea class="form-control" name="updabt" id="editabt"></textarea>
</div>
<div class="form-group">
<button id="aupdate" type="submit" class="btn btn-primary">Save</button>
</div>
</form>
</div>
フラスコ:
app.route('/updateabbprof', methods = ['POST'])
def updateaprof():
try:
if session.get('user'):
_userid = session.get('user')
_userabt = str(request.form['updabt'])
#if _userid or _username or _email or _phone:
con = mysql.connect()
cursor = con.cursor()
cursor.execute("""UPDATE user_signpp SET user_abt = %s WHERE Id =%s""",(_userabt,_userid))
con.commit()
cursor.close()
con.close()
con = mysql.connect()
cursor = con.cursor()
cursor.execute("""SELECT * FROM user_signpp WHERE Id = %s""",(_userid))
con.commit()
datanew = cursor.fetchall()
session['msg'] = list(datanew[0])
cursor.close()
con.close()
return redirect("/userprofile")
else:
return redirect('/')
except Exception as e:
return render_template('error.html', error = str(e))
USERPROFILEルート:
@app.route('/userprofile', methods = ['GET','POST'])
def userprofile():
try:
if session.get('user'):
return render_template('profile.html', msg = session.get('msg'))
else:
return redirect('/')
except Exception as e:
return render_template('error.html', error = str(e))
上記のメソッドuserprofle()を確認してください。何か間違っていますか? –
@LOKESHTIWARI:mmmおそらくそうではありません。 '/'もチェックしましたか?また、updateaprof()の 'SELECT'クエリは間違っています。タプルを' execute() 'に渡す必要があります。このコードは例外を引き起こすので、 '/ userprofile'へのリダイレクトはおそらく起きていないでしょうし、おそらく問題は本当に'/'にありますか?最後に、クエリ間のカーソルや接続を閉じる必要はなく、 'SELECT'の後にコミットする必要もありません。 – mhawke
サーバを再起動した後、私はコードをもう一度書きました..そして今は動作しています。また、私はカーソル、接続を削除し、クエリをb/wをコミットします。私を助けるために高齢者:) –