因此,我正在创建一堵墙,人们可以在这里向其他用户发送消息。在我的sql中,我有两个表,一个用于用户,一个用于消息,这些表被标记为这样。
在“我的邮件”表中,列名为id、sender\u id、message、created\u at、updated\u at和recipient\u id。users表列如下:id、firstname、lastname、email、password(哈希)、created\u at、updated\u at。
发信息没问题。但是,当我试图创建一个路由来删除那个人的墙中的消息时,我似乎无法让它工作。
以下是我的server.py文件中的代码:
@app.route("/delete/<id>", methods=["POST"])
def delete(id):
mysql=connectToMySQL('logindb')
query = "DELETE FROM messages WHERE (id = request.form['user_id']) and (sender_id = session['sender_id]);"
# DELETE FROM `logindb`.`messages` WHERE (`id` = '51') and (`sender_id` = '12');
selecter = mysql.query_db(query)
return redirect('/wall')
(注解掉的代码是我在mysql中看到的)
以下是我的创建消息路由:
@app.route('/create_messages', methods=['POST'])
def create_messages():
mysql=connectToMySQL('logindb')
query = "INSERT INTO messages(message, created_at, updated_at, sender_id, recipient_id) values(%(messages)s, now(), now(), %(sender_id)s, %(recipient_id)s)"
data = {
'messages' : request.form['message'],
'sender_id' : session['id'],
'recipient_id' : request.form['user_id']
}
session['recipient_id'] = request.form['user_id']
session['sender_id'] = session['id']
print(session['recipient_id'],'THIS IS THE RECIPIENT ID !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!')
print(session['sender_id'],'THIS IS THE SENDER ID !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!')
inserter = mysql.query_db(query,data)
return redirect('/wall')
在my wall.html文件中。我有两个部分。右边的部分是创建消息,左边是特定用户拥有的消息。我也有一个错误在这里,我想纠正,如果你能帮助我,但这是一个小错误。所以在你可以发送消息的部分,登录的用户可以发送消息给他自己。。。我本来不打算这么做的,但我觉得这可能是很酷的一种提醒,但我确实想看看,如果我可以修复以及。
创建消息端:
<div class="right_messages">
{%for messages in create%}
<form action="/create_messages" method="post">
{{messages['firstName']}}
<textarea name="message"></textarea>
<input type="hidden" name="user_id" value={{messages['id']}}>
<input type="submit" value="send">
</form>
{%endfor%}
</div>
查看并删除消息端:
<div class="left_messages">
<h3>{{count}} message(s) for you {{session['firstName']}}!</h3>
<div class="messages">
{%for messages in message%}
<p>{{messages['firstName']}} said at {{messages['created_at']}} <br> {{messages['message']}}</p>
<form method="post" action="/delete/{{message.id}}">
<input type="hidden" value="{{message.id}}" name="id">
<input type="submit" value="delete">
</form>
{%endfor%}
</div>
</div>
我尝试使用隐藏输入来传输消息id,但无法实现。。
任何帮助都将不胜感激。
暂无答案!
目前还没有任何答案,快来回答吧!