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)

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4 из 5