Flask: Личные сообщения - Python
Формулировка задачи:
Здравствуйте.
Нужна помощь. Я делаю своеобразную соц.сеть на Flask и столкнулся с проблемой, что пользователи не могут увидеть свои сообщения. Я думаю что проблема стоит с filter() и не правильное его написание. Я во Flask не давно начал разбираться и особо много не знаю, кароче нуб.
Как видно я завожу сообщение в базу. А потом в переменную "message" я передаю эти сообщения из базы, но сообщения я пытаюсь взять именно конкретных пользователей, сообщения пользователя из адресной строки и текущего пользователя, тем самым что и получается личные сообщения. Но у меня попросту сообщения не отображаются, ошибок нет, но в базе сообщения есть. Если надо больше кода могу отослать. Пожалуйста пишете по "Русски", я новичок и большинство терминов не понимаю.
Заранее Спасибо.
Решение задачи: «Flask: Личные сообщения»
textual
Листинг программы
@app.route('/message/<nickname>', methods=['GET', 'POST'])
@login_required
def message(nickname=None):
if nickname is None:
return redirect(url_for('message', nickname=current_user.name))
user = g.db.query(Users).filter_by(name=nickname).first()
user_cur = current_user
if request.method == "POST":
new_message = Messages(message=request.form.get("messages"),
user_to=user.id,
mess=current_user)
g.db.add(new_message)
g.db.commit()
messages = g.db.query(Messages.message, Users.name, Messages.user_id).join(Users).filter(
or_(and_(Messages.user_id == user_cur.id, Messages.user_to == user.id),
and_(Messages.user_id == user.id, Messages.user_to == user_cur.id))).order_by(Messages.time).all()
return render_template('message.html',
message=messages,
user=user,
user_cur=user_cur,
nickname=nickname)