Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

116
Visualizações
Agregar a la base de datos usando matraz-socketio

Quiero usar matraz_socketio para agregar la función de mensajería en tiempo real a mi web. Mi sitio web tiene una función en la que se agregan mensajes a la tabla de mensajes en mi base de datos de matraz-sqlalchemy. Ahora no puedo entender cómo agregaré un mensaje a la base de datos y al mismo tiempo lo publicaré en el servidor del cliente para que pueda verse instantáneamente, en palabras sencillas, para qué se usa el matraz-socketio (actualización instantánea). La función para agregar mensajes es:

 @app.route('/<int:team_id>/<int:channel_id>/<string:channel_name>' , methods=["GET","POST"]) def channel(team_id,channel_id, channel_name): *Irrelevant code* form = MessageForm() if form.validate_on_submit(): message = Messages(msg_cntnt=form.msg_cntnt.data,msg_file =form.picture.data, sender_id=current_user.id) message.parent_channel = _channel_name db.session.add(message) db.session.commit() messages = Messages.query.filter_by(parent_channel=_channel_name).all() return render_template('team.html', _channel=_channel, team=team, channels=channels, team_members_count=team_members_count, form=form, messages=messages)

He probado algunas formas de usar el matraz socketio y ninguna funcionó. También intenté cambiar la versión de matraz_socketio de 5.2.0 a 2 y luego a 4, pero no funcionó. ¿Cómo puedo conseguir esto? ¿Cómo puedo agregarle matraz-socketio? NOTA: En mi team.html he hecho:

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Puede priorizar la funcionalidad en tiempo real primero y guardarla después de esta manera

 def save_message(msg): groupid = group.query.filter(group.groupid == msg["roomid"]).first() save = message(msg["sender"],msg["content"]) db.session.add(save) groupid.message.append(save) db.session.commit() @socketio.on("send_message") def send_message(message): print(message) message["sender"] = current_user.username emit('add_element', message, to = message["roomid"], broadcast = True) save_message(message)

Cuando se activa el evento "send_message", actúa como una función normal de emisión de mensajes, pero después de que todo esté hecho (transmisión de mensajes en tiempo real), llama a una función que guarda el mensaje.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda