Maison développement back-end Tutoriel Python Développer des applications Web synchronisées en temps réel à l'aide de Python et Vue.js

Développer des applications Web synchronisées en temps réel à l'aide de Python et Vue.js

Jun 17, 2023 am 08:28 AM
python vuejs web 实时化

Avec la popularité des applications Web et les exigences croissantes en matière d'expérience utilisateur, la synchronisation en temps réel est devenue une fonctionnalité indispensable des applications Web modernes. Dans cet article, nous présenterons comment développer une application Web synchrone en temps réel à l'aide de Python et Vue.js.

Afin d'obtenir une synchronisation en temps réel, nous devons utiliser certaines technologies Web modernes, notamment WebSocket, la programmation asynchrone et les frameworks front-end. Ce qui suit est la pile technique qui sera utilisée dans cet article:

  • python 3.6 +
  • flask
  • flask-socketo
  • gevent
  • vue.js 2.0 +
  • vuex
  • socket.io-clilient

Présentons étape par étape comment utiliser ces technologies pour implémenter une application Web synchronisée en temps réel.

  1. Création d'une application Flask

Tout d'abord, nous devons créer une application Flask. Nous pouvons installer Flask à l'aide du gestionnaire de packages pip de Python :

pip install flask
Copier après la connexion

Ensuite, créez un fichier app.py avec le contenu suivant :

from flask import Flask, render_template
from flask_socketio import SocketIO, emit

app = Flask(__name__)
app.config['SECRET_KEY'] = 'secret!'
socketio = SocketIO(app)

@app.route('/')
def index():
    return render_template('index.html')

if __name__ == '__main__':
    socketio.run(app)
Copier après la connexion

Ce code crée une application Flask et affiche un nom sur le chemin racine est le modèle pour index.html . Nous créerons ce modèle plus tard. De plus, nous avons également démarré un serveur WebSocket afin de pouvoir l'utiliser ultérieurement pour implémenter la synchronisation en temps réel.

  1. Création d'une application Vue.js

Ensuite, nous devons créer une application Vue.js. Nous pouvons utiliser l'outil CLI de Vue pour créer rapidement une application Vue.js. La commande est la suivante :

npm install -g @vue/cli
vue create client
Copier après la connexion

Cela créera une application Vue.js nommée client. Allez dans le répertoire de l'application et installez les dépendances nécessaires :

cd client
npm install vue-socket.io vue-socket.io-extended socket.io-client vuex --save
Copier après la connexion

Ensuite, nous devons faire une configuration de l'application. Ouvrez src/main.js et utilisez le code suivant :

import Vue from 'vue'
import App from './App.vue'
import VueSocketIO from 'vue-socket.io-extended'
import io from 'socket.io-client'
import Vuex from 'vuex'
import {store} from './store/store'

Vue.use(Vuex)

const socket = io(`${window.location.hostname}:5000`)

Vue.use(VueSocketIO, socket, {store})

Vue.config.productionTip = false

new Vue({
  render: h => h(App),
  store
}).$mount('#app')
Copier après la connexion

Dans le code, nous avons importé certains modules nécessaires et créé une instance de socket afin que nous puissions nous connecter au serveur WebSocket dans l'application Flask.

  1. Créer une boutique Vuex

Nous utilisons Vuex pour gérer l'état de l'application. Par conséquent, nous devons créer un dossier de magasin et y créer un fichier store.js, en utilisant le code suivant :

import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

export const store = new Vuex.Store({
  state: {
    message: ''
  },
  mutations: {
    SET_MESSAGE(state, payload) {
      state.message = payload
    }
  }
})
Copier après la connexion

Ce magasin contient un champ de message dans l'état et a une mutation pour définir le champ.

  1. Créer des composants Vue

Nous pouvons désormais créer des composants Vue pour afficher l'état des messages et réaliser une synchronisation en temps réel. Nous utiliserons les méthodes submit et on du socket sur le composant pour implémenter la synchronisation en temps réel. Ouvrez le fichier App.vue et utilisez le code suivant :

<template>
  <div class="container">
    <h1>{{ message }}</h1>
    <input v-model="input" type="text">
  </div>
</template>

<script>
export default {
  name: 'app',
  data() {
    return {
      input: ''
    }
  },
  computed: {
    message() {
      return this.$store.state.message
    }
  },
  methods: {
    sendMessage() {
      this.$socket.emit('message', this.input)
    }
  },
  sockets: {
    message(payload) {
      this.$store.commit('SET_MESSAGE', payload)
    }
  }
}
</script>

<style>
.container {
  margin: 100px auto;
  text-align: center;
}
</style>
Copier après la connexion

Notez que nous avons utilisé les méthodes submit et on du socket dans le composant Vue. La méthode submit est utilisée pour envoyer des messages au serveur, tandis que la méthode on est utilisée pour recevoir les messages envoyés par le serveur et exécuter le rappel spécifié.

  1. Créer un modèle index.html

Nous devons également créer un modèle index.html pour fournir un point d'entrée pour l'application Flask. Ouvrez templates/index.html et utilisez le code suivant :

<!doctype html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Vue Socket.IO Application</title>
</head>
<body>
  <div id="app"></div>
  <script src="{{ url_for('static', filename='js/app.js') }}"></script>
</body>
</html>
Copier après la connexion

Ce modèle contient Vue. Point d'entrée et fournit un élément DOM permettant à l'application Vue de restituer le contenu. Notez que le modèle comprend également une URL de fichier statique qui sera référencée par l'application Flask et servira les scripts de l'application Vue.

  1. Exécuter l'application

Maintenant que nous avons tous les paramètres de l'application, nous pouvons la démarrer en utilisant la commande suivante :

python app.py
Copier après la connexion

Ensuite, ouvrez http://localhost:5000 dans votre navigateur. Vous verrez une zone de saisie sur la page où vous pourrez saisir du texte. De plus, lorsque vous passez à un autre navigateur et saisissez du texte dans la zone de saisie, vous constaterez que le texte que vous venez de saisir est également synchronisé ici !

De cette façon, nous avons implémenté avec succès un navigateur basé sur Python et Vue. js Synchronisez les applications Web en temps réel. Ce modèle propose de nombreux scénarios d'application, tels que des applications de chat en ligne ou des applications de collaboration multi-personnes.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Python vs C: applications et cas d'utilisation comparés Python vs C: applications et cas d'utilisation comparés Apr 12, 2025 am 12:01 AM

Python convient à la science des données, au développement Web et aux tâches d'automatisation, tandis que C convient à la programmation système, au développement de jeux et aux systèmes intégrés. Python est connu pour sa simplicité et son écosystème puissant, tandis que C est connu pour ses capacités de contrôle élevées et sous-jacentes.

Comment utiliser les journaux Debian Apache pour améliorer les performances du site Web Comment utiliser les journaux Debian Apache pour améliorer les performances du site Web Apr 12, 2025 pm 11:36 PM

Cet article expliquera comment améliorer les performances du site Web en analysant les journaux Apache dans le système Debian. 1. Bases de l'analyse du journal APACH LOG enregistre les informations détaillées de toutes les demandes HTTP, y compris l'adresse IP, l'horodatage, l'URL de la demande, la méthode HTTP et le code de réponse. Dans Debian Systems, ces journaux sont généralement situés dans les répertoires /var/log/apache2/access.log et /var/log/apache2/error.log. Comprendre la structure du journal est la première étape d'une analyse efficace. 2.

Python: jeux, GUIS, et plus Python: jeux, GUIS, et plus Apr 13, 2025 am 12:14 AM

Python excelle dans les jeux et le développement de l'interface graphique. 1) Le développement de jeux utilise Pygame, fournissant des fonctions de dessin, audio et d'autres fonctions, qui conviennent à la création de jeux 2D. 2) Le développement de l'interface graphique peut choisir Tkinter ou Pyqt. Tkinter est simple et facile à utiliser, PYQT a des fonctions riches et convient au développement professionnel.

Laravel (PHP) contre Python: environnements de développement et écosystèmes Laravel (PHP) contre Python: environnements de développement et écosystèmes Apr 12, 2025 am 12:10 AM

La comparaison entre Laravel et Python dans l'environnement de développement et l'écosystème est la suivante: 1. L'environnement de développement de Laravel est simple, seul PHP et compositeur sont nécessaires. Il fournit une riche gamme de packages d'extension tels que Laravelforge, mais la maintenance des forfaits d'extension peut ne pas être opportun. 2. L'environnement de développement de Python est également simple, seuls Python et PIP sont nécessaires. L'écosystème est énorme et couvre plusieurs champs, mais la gestion de la version et de la dépendance peut être complexe.

PHP et Python: comparaison de deux langages de programmation populaires PHP et Python: comparaison de deux langages de programmation populaires Apr 14, 2025 am 12:13 AM

PHP et Python ont chacun leurs propres avantages et choisissent en fonction des exigences du projet. 1.Php convient au développement Web, en particulier pour le développement rapide et la maintenance des sites Web. 2. Python convient à la science des données, à l'apprentissage automatique et à l'intelligence artificielle, avec syntaxe concise et adaptée aux débutants.

Le rôle de Debian Sniffer dans la détection des attaques DDOS Le rôle de Debian Sniffer dans la détection des attaques DDOS Apr 12, 2025 pm 10:42 PM

Cet article traite de la méthode de détection d'attaque DDOS. Bien qu'aucun cas d'application directe de "Debiansniffer" n'ait été trouvé, les méthodes suivantes ne peuvent être utilisées pour la détection des attaques DDOS: technologie de détection d'attaque DDOS efficace: détection basée sur l'analyse du trafic: identification des attaques DDOS en surveillant des modèles anormaux de trafic réseau, tels que la croissance soudaine du trafic, une surtension dans des connexions sur des ports spécifiques, etc. Par exemple, les scripts Python combinés avec les bibliothèques Pyshark et Colorama peuvent surveiller le trafic réseau en temps réel et émettre des alertes. Détection basée sur l'analyse statistique: en analysant les caractéristiques statistiques du trafic réseau, telles que les données

Certificat NGINX SSL Mise à jour du tutoriel Debian Certificat NGINX SSL Mise à jour du tutoriel Debian Apr 13, 2025 am 07:21 AM

Cet article vous guidera sur la façon de mettre à jour votre certificat NGINXSSL sur votre système Debian. Étape 1: Installez d'abord CERTBOT, assurez-vous que votre système a des packages CERTBOT et Python3-CERTBOT-NGINX installés. Si ce n'est pas installé, veuillez exécuter la commande suivante: Sudoapt-getUpDaSuDoapt-GetInstallCertBotpyThon3-Certerbot-Nginx Étape 2: Obtenez et configurez le certificat Utilisez la commande Certbot pour obtenir le certificat LETSCRYPT et configure

Comment Debian Readdir s'intègre à d'autres outils Comment Debian Readdir s'intègre à d'autres outils Apr 13, 2025 am 09:42 AM

La fonction ReadDir dans le système Debian est un appel système utilisé pour lire le contenu des répertoires et est souvent utilisé dans la programmation C. Cet article expliquera comment intégrer ReadDir avec d'autres outils pour améliorer sa fonctionnalité. Méthode 1: combinant d'abord le programme de langue C et le pipeline, écrivez un programme C pour appeler la fonction readdir et sortir le résultat: # include # include # include # includeIntmain (intargc, char * argv []) {dir * dir; structDirent * entrée; if (argc! = 2) {

See all articles