Итак, я создаю стену, где люди могут отправлять сообщения другим пользователям. В моем SQL у меня есть две таблицы, одна для пользователей и одна для сообщений, и таблицы помечены как таковые.
В моей таблице для сообщений имена столбцов: id, sender_id, message, creation_at, updated_at и receient_id. Столбцы таблицы пользователей следующие: id, firstName, lastName, адрес электронной почты, пароль (хэшированный), create_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>
Я пытался использовать скрытые входы для передачи идентификатора сообщения, но не смог его реализовать.
Любая помощь будет принята с благодарностью.