因此,我正在创建一堵墙,人们可以在其中向其他用户发送消息。在我的SQL中,我有两个表,一个表用于用户,一个表用于消息,并且表被标记为此类。
在我的邮件表中,列名是id,sender_id,message,created_at,updated_at和收件人ID。用户表列如下ID,名字,姓氏,电子邮件,密码(散列),created_at,updated_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')
在我的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,但无法实现。.
任何帮助将不胜感激。