Maison >développement back-end >Tutoriel Python >Framework Web léger Python : bibliothèque de bouteilles !

Framework Web léger Python : bibliothèque de bouteilles !

WBOY
WBOYavant
2023-04-13 14:10:061310parcourir

Framework Web léger Python : bibliothèque de bouteilles !

Aussi légère soit-elle, l'utilisation de la bibliothèque Bottle est également très simple. Je pense qu'avant de lire cet article, les lecteurs ont déjà une compréhension simple de python. Alors, quel genre d’opération mystérieuse peut compléter les fonctions d’un serveur avec des centaines de lignes de code ? Attendons et voyons.

1. Installation de la bibliothèque Bottle

1) Utilisez pip pour installer

Framework Web léger Python : bibliothèque de bouteilles !

2) Téléchargez le fichier Bottle

https://github.com/bottlepy/bottle/blob/master/bottle.py

2. "HelloWorld!"

Comme le dit le proverbe, tout réussit d'abord HelloWorld À partir de cet exemple simple, nous pouvons comprendre le mécanisme de base de Bottle.

D'abord le code :

Framework Web léger Python : bibliothèque de bouteilles !

Nous importons d'abord les méthodes get et run de la bibliothèque de bouteilles.

Ensuite, nous devons créer un site Web. Tout d'abord, nous avons besoin d'une adresse IP et d'un port. Cette partie de la fonction est complétée par exécution. Dans la phase de test, nous utilisons 127.0.0.1 (adresse locale) et le port 80. . (Port par défaut du navigateur) Venez à :

Exécutez ce code python HelloWorld.py

Framework Web léger Python : bibliothèque de bouteilles !

De cette façon, le serveur du site Web fonctionne, ouvrez le navigateur, entrez 127.0.0.1(:80)

Framework Web léger Python : bibliothèque de bouteilles !

Le familier 404, message d'erreur Introuvable : '/'. Bien sûr, car en plus du serveur, le site Web comporte également un élément très important : la page Web !

Lorsque le navigateur accède à l'adresse IP, il envoie une requête get à l'IP et attend que les données de la page Web soient renvoyées. Ensuite, notre bibliothèque de bouteilles encapsule la méthode get pour implémenter ce processus.

Le code est le suivant :

Framework Web léger Python : bibliothèque de bouteilles !

Je ne sais pas si vous connaissez le symbole @ ci-dessus def. Ce symbole signifie décorateur en syntaxe python. Il peut être simplement compris comme utilisant la fonction get pour décorer le. page d'accueil. Ici, @get('/') décore la page d'accueil dans la fonction correspondante lorsque le navigateur envoie la requête GET 127.0.0.1/. Vous pouvez effectuer n'importe quel traitement et enfin renvoyer la réponse à la requête get. Ici, la simple page HelloWorld est renvoyée. Si vous l'exécutez à nouveau, vous obtiendrez cet effet :

Framework Web léger Python : bibliothèque de bouteilles !

Vous pouvez également utiliser la méthode du modèle encapsulé dans la bouteille pour écrire les données de la page Web séparément dans un fichier .tpl. L'exemple est le suivant :

Framework Web léger Python : bibliothèque de bouteilles !

La fonction d'exécution dispose également d'un paramètre de rechargement. Le définir sur True activera le rechargement automatique du serveur Web lorsque vous apporterez des modifications, ce qui permettra d'obtenir des mises à jour à chaud. le site Web.

3. Routage dynamique et téléchargement de fichiers

Comme nous l'avons utilisé get('/') ci-dessus, il s'agit essentiellement d'un routage statique. L'adresse déterminée avant l'exécution du serveur peut être acheminée à l'aide de cette méthode.

Et s'il s'agissait d'un runtime serveur ? Par exemple, l'accès aux fichiers sur le serveur du site Web ne peut pas se faire de manière statique. Dans ce cas, nous pouvons utiliser le routage dynamique.

Le routage dynamique de Bottle est implémenté par la méthode route Semblable à get, il utilise également des décorateurs pour décorer les fonctions afin d'implémenter les fonctions de routage.

Framework Web léger Python : bibliothèque de bouteilles !

Ici, nous voyons quelque chose d'unique apparaître dans les paramètres du décorateur : 'nom'. Les paramètres de la fonction modifiée ont le même nom que le paramètre après les deux points. Dans la fonction, vous pouvez utiliser le paramètre name comme variable de traitement, et enfin renvoyer la réponse.

Framework Web léger Python : bibliothèque de bouteilles !

Le routage dynamique peut faciliter le routage de fichiers. Il peut y avoir des centaines ou des milliers de fichiers stockés sur un serveur et il est impossible de se fier à des adresses statiques pour chacun d'entre eux.

Framework Web léger Python : bibliothèque de bouteilles !

Ici, nous pouvons voir une nouvelle fonction static_file. Le premier paramètre est le nom du fichier et le deuxième paramètre est l'adresse du répertoire racine (c'est-à-dire l'emplacement du fichier) :

. -- HelloWorld.py

--store1.txt

Visitez le navigateur pour obtenir

Framework Web léger Python : bibliothèque de bouteilles !

Bien sûr, vous pouvez également mettre le fichier dans un dossier, remplacez simplement le paramètre racine par l'adresse du dossier .

4. Réponse POST et téléchargement de fichiers

Si nous voulons implémenter des fonctions plus complexes, nous devons non seulement utiliser la méthode GET, mais également la méthode POST. Ici, nous utilisons Form en langage HTML pour démontrer la réponse de la bibliothèque Bottle aux requêtes POST.

Framework Web léger Python : bibliothèque de bouteilles !

Nous implémentons d'abord une fenêtre de téléchargement de fichiers, comme ci-dessus.

La page ici est une simple interface de soumission de formulaire. Je ne la présenterai pas en détail ici. La page ouverte est la suivante :

Framework Web léger Python : bibliothèque de bouteilles !

La prochaine réponse POST, le code est le suivant :

Framework Web léger Python : bibliothèque de bouteilles !

Depuis la bibliothèque de bouteilles Importez la méthode de publication et la demande.

Semblable à la méthode get, utilisez post pour décorer la fonction de réponse, puis utilisez request dans le corps de la fonction pour obtenir le corps de la demande de publication reçue par le serveur du site Web. La méthode request.forms.get() peut extraire la chaîne correspondant à la clé dans le formulaire, la méthode request.files.get() peut extraire le fichier correspondant à la clé dans le formulaire et la méthode save peut être utilisé pour stocker les données pour réaliser le téléchargement de fichiers.

Ensuite, nous effectuons un test :

Framework Web léger Python : bibliothèque de bouteilles !

Après avoir cliqué sur télécharger, nous ouvrons le répertoire racine du serveur (qui est l'emplacement du fichier python) et vérifions que le fichier a été téléchargé avec succès !

Framework Web léger Python : bibliothèque de bouteilles !

5.Résumé

Après avoir terminé ces fonctions, vous devez vouloir déployer la bouteille sur le réseau. Après tout, s'il ne fonctionne que localement, à quoi sert le site Web ?

Tsinghuanet fournit une adresse IP publique pour chacun de nos points d'accès réseau. Utilisez ipconfig dans cmd pour vérifier l'adresse IP, modifiez les paramètres d'exécution en cours sur votre adresse IP publique, puis connectez-vous à n'importe quel appareil. Entrez l'adresse IP et le numéro de port. (80 par défaut) dans le navigateur (le téléphone portable est recommandé, les navigateurs informatiques sont parfois très lents), et vous pouvez y accéder !

La bibliothèque Bottle dispose également de nombreuses fonctions puissantes. La lecture et l'écriture de cookies, l'installation, la désinstallation et la désactivation de plug-ins sont une évidence. Bottle peut également être déployé sur d'autres serveurs et le multithreading est très simple. attendent que les lecteurs en sachent plus.

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer