簡體   English   中英

Python flask POST 請求

[英]Python flask POST request

我在 Python 中開發了一個應用程序並使用 flask。 這是一段代碼,它試圖通過用戶輸入生成一條消息,然后將其附加到我的數據庫中:

@app.route('/MakeMessage',methods = ['POST', 'GET'])
def MakeMessage():
   if request.method == 'POST':
       user_id = request.form['user_id']
       content = request.form['content']
       paticipants = [request.form['participant1'],request.form['participant2'],request.form['participant3']]
       m = Message(user_id=user_id,content=content,participants=paticipants)
       return redirect('/AddMessage',m = m)

@app.route('/AddMessage',methods = ['POST', 'GET'])
def AddMessage(m):
   if request.method == 'POST':
      db.session.add(m)
      db.session.commit()
      return 'Your message has been successfully saved'

我知道代碼有問題,但我不知道是什么。 任何想法?

AddMessage 

接受一個參數m所以在 app.route 中應該改成這個

@app.route('/AddMessage/<m>')

您可能希望在重定向 function 中使用url_for()來重定向到應用程序中的路由。 此外,您需要將<m>放在AddMessage的路由中。

from flask import redirect, url_for, request

@app.route('/MakeMessage',methods = ['POST', 'GET'])
def MakeMessage():
   if request.method == 'POST':
      ...
      return redirect(url_for('/AddMessage',m=m))

@app.route('/AddMessage/<m>',methods = ['POST', 'GET'])
def AddMessage(m):
   ...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM