Приложение для чата Python Flask-socketio

У меня есть приложение чата с использованием flask-socketio, но я хочу изменить свое имя пользователя на ME на моем экране, если я отправлю сообщение другому человеку, и этот человек увидит мое имя пользователя на экране. Я не знаю, как это сделать. это.. Я новичок в Python и JavaScript.

**python file**
    @app.route('/group-chat')
    def chat():
       global username
       con = sqlite3.connect('webprog.db')
       cmd=con.cursor()
       sql=("SELECT *FROM history")
       cmd.execute(sql)
       history  = [dict(username=row[1],msg=row[2])for row in cmd.fetchall()]
       return render_template('Groupchat.html',history=history,user=username)


    #event
    @socketio.on( 'my event' )
    def handle_my_custom_event( json ):
       con = sqlite3.connect('webprog.db')
       cmd= con.cursor()
       sql=("INSERT INTO history(user,msg) VALUES(?,?)")
       cmd.execute(sql,[str((json['user_name'])),str((json['message']))])
       con.commit()
       cmd.close()
       print( 'recived my event: ' + str(json))
       socketio.emit( 'my response', json)

    if __name__ == '__main__':
       socketio.run(app,debug=True)

    **HTMLt**


    <script>
          var socket = io.connect( 'http://' + document.domain + ':' + location.port )
          var user='{{user}}'
          // broadcast a message
          socket.on( 'connect', function() {
            socket.emit( 'my event', {
              data: 'User Connected'
            } )
            var form = $( 'form' ).on( 'submit', function( e ) {
              e.preventDefault()
              let user_input = $( 'input.message' ).val()
              socket.emit( 'my event', {
                user_name :user,
                message : user_input
              })
              // empty the input field
              $( 'input.message' ).val( '' ).focus()
            } )
          } )

          // capture message
          socket.on( 'my response', function( msg ) {
            console.log( msg )
            if( typeof msg.user_name !== 'undefined' ) {
              $( 'h1' ).remove()
              $( 'div.message_holder' ).append( '<div class="msg_bbl"><b style="color: #000">'+msg.user_name+'</b> '+msg.message+'</div>' )
            }
          } )
        </script>

0 ответов

Другие вопросы по тегам