我用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'我知道代码有问题,但我不知道是什么原因。有什么想法吗?
发布于 2020-05-03 23:37:18
AddMessage 接受参数m,因此在app.route中应将其更改为
@app.route('/AddMessage/<m>')发布于 2020-05-04 04:31:15
您可能希望在重定向函数中使用url_for()来重定向到应用程序中的路由。此外,您需要在AddMessage的路由中加入<m>。
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):
...https://stackoverflow.com/questions/61575072
复制相似问题