........attendi qualche secondo.

#adessonews solo agevolazioni personali e aziendali.

per le ricerche su Google, inserisci prima delle parole di ricerca:

#adessonews

Siamo operativi in tutta Italia

 

Créer une application Web avec Flask Python #adessonewsitalia

I. Introduction

Dans le cadre de ce tutoriel, vous utiliserez la boîte à outils Bootstrap pour styliser votre application afin qu’elle soit plus attrayante visuellement. Bootstrap vous aidera à incorporer des pages web réactives dans votre application web afin qu’elle fonctionne également bien sur les navigateurs mobiles sans avoir à écrire votre propre code HTML, CSS et JavaScript pour atteindre ces objectifs. La boîte à outils vous permettra de vous concentrer sur l’apprentissage du fonctionnement de Flask.

Flask utilise le moteur de modèle Jinja pour construire dynamiquement des pages HTML en utilisant des concepts Python familiers tels que les variables, les boucles, les listes, etc. Vous utiliserez ces modèles dans le cadre de ce projet.

Dans ce tutoriel, vous allez construire un petit blog web en utilisant Flask et SQLite en Python 3. Les utilisateurs de l’application peuvent consulter tous les articles de votre base de données et cliquer sur le titre d’un article pour en voir le contenu, avec la possibilité d’ajouter un nouvel article à la base de données et de modifier ou supprimer un article existant.

II. Conditions préalables

Avant de commencer à suivre ce guide, vous aurez besoin des éléments suivants :

III. Étape 1 – Installer Flask

Dans cette étape, vous allez activer votre environnement Python et installer Flask en utilisant l’installateur de paquets pip.

Si vous n’avez pas encore activé votre environnement de programmation, assurez-vous que vous êtes dans le répertoire de votre projet (flask_blog) et utilisez la commande suivante pour activer l’environnement :

$ source env/bin/activate

Une fois que votre environnement de programmation est activé, votre invite aura maintenant un préfixe env qui peut ressembler à ce qui suit :

Ce préfixe est une indication que l’environnement env est actuellement actif, qui peut avoir un autre nom selon la façon dont vous l’avez nommé lors de sa création.

Remarque : vous pouvez utiliser Git, un système de contrôle de version pour gérer et suivre efficacement le processus de développement de votre projet. (NDLR. Pour apprendre à utiliser Git : Git – Démarrage rapide sous Linux, FAQ Git).

Si vous utilisez Git, il est conseillé d’ignorer le répertoire env nouvellement créé dans votre fichier .gitignore pour éviter de suivre des fichiers non liés au projet.

Vous allez maintenant installer des paquets Python et isoler le code de votre projet de l’installation principale du système Python. Vous ferez cela en utilisant pip et python.

Pour installer Flask, exécutez la commande suivante :

(env)sammy@localhost:$ pip install flask

Une fois l’installation terminée, exécutez la commande suivante pour confirmer l’installation :

(env)sammy@localhost:$ python -c “import flask; print(flask.__version__)”

Vous utilisez l’interface en ligne de commande python avec l’option -c pour exécuter le code Python. Ensuite, vous importez le paquet flask avec import flask; puis vous imprimez la version de Flask, qui est fournie grâce à la variable flask.__version__.

La sortie sera un numéro de version semblable à ce qui suit : 1.1.2 (NDLR. 2.0.x à ce jour.)

Vous avez créé le dossier du projet, un environnement virtuel et installé Flask. Vous êtes maintenant prêt à configurer votre application de base.

IV. Étape 2 – Créer une application de base

Maintenant que vous avez configuré votre environnement de programmation, vous allez commencer à utiliser Flask. Dans cette étape, vous allez créer une petite application web dans un fichier Python et l’exécuter pour démarrer le serveur, qui affichera certaines informations sur le navigateur.

Dans votre répertoire flask_blog, ouvrez un fichier nommé hello.py pour le modifier. Utilisez nano ou votre éditeur de texte préféré :

(env)sammy@localhost:$ nano hello.py

Ce fichier hello.py servira d’exemple minimal de la manière de traiter les requêtes HTTP. À l’intérieur de ce fichier, vous importerez l’objet Flask et créerez une fonction qui renvoie une réponse HTTP. Écrivez le code suivant à l’intérieur de hello.py :

flask_blog/hello.py

Sélectionnez

from flask import Flask app = Flask(__name__) @app.route(‘/’) def hello(): return ‘Hello, World!’

Dans le bloc de code précédent, vous importez d’abord l’objet Flask du paquet flask. Vous l’utilisez ensuite pour créer votre instance d’application Flask avec le nom app. Vous passez la variable spéciale __name__ qui contient le nom du module Python actuel. Il est utilisé pour indiquer à l’instance où elle se trouve – vous en avez besoin, car Flask établit certains chemins en coulisses.

Une fois que vous avez créé l’instance de l’application, vous l’utilisez pour traiter les demandes web entrantes et envoyer des réponses à l’utilisateur. @app.route est un décorateur (NDLR. Voir Les décorateurs) qui transforme une fonction Python ordinaire en une fonction d’affichage Flask et qui convertit la valeur de retour de la fonction en une réponse HTTP à afficher par un client HTTP, tel qu’un navigateur web. Vous passez la valeur ‘/’ à @app.route pour indiquer que cette fonction répondra aux requêtes web pour la racine du site.

La fonction d’affichage hello() renvoie la chaîne “Hello, World!” comme réponse.

Enregistrez et fermez le fichier.

Pour exécuter votre application web, vous devez d’abord indiquer à Flask où trouver l’application (le fichier hello.py dans votre cas) avec la variable d’environnement FLASK_APP :

(env)sammy@localhost:$ export FLASK_APP=hello

Ensuite, exécutez-la en mode développement avec la variable d’environnement FLASK_ENV :

(env)sammy@localhost:$ export FLASK_ENV=development

Pour terminer, exécutez l’application en utilisant la commande flask run :

(env)sammy@localhost:$ flask run

Une fois l’application lancée, la sortie sera quelque chose comme ceci :

* Serving Flask app “hello” (lazy loading) * Environment: development * Debug mode: on * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) * Restarting with stat * Debugger is active! * Debugger PIN: 813-894-335

La sortie précédente contient plusieurs éléments d’information, tels que :

  • le nom de l’application que vous exécutez ;
  • l’environnement dans lequel l’application est exécutée ;
  • le mode de débogage : Debug mode: on signifie que le débogueur Flask est en cours d’exécution. Ceci est utile lors du développement, car il nous donne des messages d’erreur détaillés lorsque les choses tournent mal, ce qui facilite le dépannage ;
  • l’adresse d’exécution locale de l’application qui est ici l’URL http://127.0.0.1:5000/, où 127.0.0.1 est l’IP qui représente le localhost de votre machine et :5000 est le numéro du port.

Ouvrez un navigateur et tapez l’URL http://127.0.0.1:5000/, vous recevrez la chaîne de caractères Hello, World! en réponse, cela confirme que votre application fonctionne correctement.

Flask utilise un simple serveur web pour servir notre application dans un environnement de développement, ce qui signifie également que le débogueur Flask est en cours d’exécution pour faciliter la capture des erreurs. Ce serveur de développement ne doit pas être utilisé dans un déploiement de production. Consultez la page des options de déploiement dans la documentation Flask pour plus d’informations.

Vous pouvez maintenant quitter le serveur de développement en cours d’exécution dans le terminal et ouvrir une autre fenêtre du terminal. Déplacez-vous dans le dossier du projet où hello.py se trouve, activez l’environnement virtuel, définissez les variables d’environnement FLASK_ENV et FLASK_APP, et passez aux étapes suivantes. (Ces commandes sont énumérées plus haut dans cette étape).

Remarque : lors de l’ouverture d’un nouveau terminal, il est important de se souvenir d’activer l’environnement virtuel et de définir les variables d’environnement FLASK_ENV et FLASK_APP.

Pendant que le serveur de développement d’une application Flask est déjà en cours d’exécution, il n’est pas possible d’exécuter une autre application Flask avec la même commande flask run. En effet, flask run utilise le numéro de port 5000 par défaut, et une fois qu’il est pris, il devient indisponible pour exécuter une autre application de sorte que vous recevriez une erreur similaire à la suivante :

OSError: [Errno 98] Address already in use

Pour résoudre ce problème, vous pouvez soit arrêter le serveur qui tourne actuellement avec CTRL+C, puis relancer flask run, soit, si vous voulez exécuter les deux en même temps, passer un numéro de port différent à l’argument -p. Par exemple, pour exécuter une autre application sur le port 5001, utilisez la commande suivante :

(env)sammy@localhost:$ flask run -p 5001

Vous disposez maintenant d’une petite application web Flask. Vous avez lancé votre application et affiché des informations sur le navigateur web. Ensuite, vous allez utiliser des fichiers HTML dans votre application.

V. Étape 3 – Utiliser des modèles HTML

Actuellement, votre application n’affiche qu’un simple message sans aucun HTML. Les applications web utilisent principalement le HTML pour afficher des informations à l’intention du visiteur. Vous allez donc maintenant travailler à l’incorporation de fichiers HTML à votre application, qui pourront être affichés dans le navigateur web.

Flask fournit une fonction render_template() qui permet l’utilisation du moteur de modèle (template) Jinja. Cela facilitera grandement la gestion du HTML en écrivant votre code HTML dans des fichiers .html et en utilisant la logique dans votre code HTML. Vous allez utiliser ces fichiers HTML (modèles ou templates) pour construire toutes les pages de votre application, comme la page principale où vous afficherez les articles de blog en cours, la page de l’article de blog, la page où l’utilisateur peut ajouter un nouvel article, etc.

Dans cette étape, vous allez créer votre application Flask principale dans un nouveau fichier.

Tout d’abord, dans votre répertoire flask_blog, utilisez nano ou votre éditeur préféré pour créer et modifier votre fichier app.py. Ce fichier contiendra tout le code que vous utiliserez pour créer l’application de blog :

(env)sammy@localhost:$ nano app.py

Dans ce nouveau fichier, vous allez importer l’objet Flask pour créer une instance d’application Flask comme vous l’avez déjà fait. Vous importerez également la fonction render_template() qui vous permet générer des pages web à partir de modèles HTML qui existent dans le dossier des modèles que vous êtes en train de créer. Le fichier aura une fonction d’affichage unique qui sera responsable de la gestion des demandes vers la principale route /. Ajoutez le contenu suivant :

flask_blog/app.py

Sélectionnez

from flask import Flask, render_template app = Flask(__name__) @app.route(‘/’) def index(): return render_template(‘index.html’)

La fonction d’affichage index() renvoie le résultat de l’appel de render_template() avec index.html en argument, ce qui indique à render_template() qu’il doit rechercher un fichier appelé index.html dans le dossier des modèles. Le dossier et le fichier n’existent pas encore, vous obtiendriez une erreur si vous deviez exécuter l’application à ce stade. Vous l’exécuterez néanmoins afin de vous familiariser avec cette exception couramment rencontrée. Vous la corrigerez ensuite en créant le dossier et le fichier nécessaires.

Enregistrez et quittez le fichier.

Arrêtez le serveur de développement dans votre autre terminal qui exécute l’application hello avec CTRL+C.

Avant d’exécuter l’application, assurez-vous de spécifier correctement la valeur de la variable d’environnement FLASK_APP, puisque vous n’utilisez plus l’application hello :

(env)sammy@localhost:$ export FLASK_APP=app (env)sammy@localhost:$ flask run

En ouvrant l’URL http://127.0.0.1:5000/ dans votre navigateur, la page du débogueur vous informera que le modèle index.html n’a pas été trouvé. La ligne principale du code responsable de cette erreur sera mise en évidence. Dans ce cas, il s’agit de la ligne return render_template(‘index.html’).

Si vous cliquez sur cette ligne, le débogueur vous révélera plus de code afin que vous disposiez de plus de contexte pour vous aider à résoudre le problème.

Image non disponible

Pour corriger cette erreur, créez un répertoire appelé templates à l’intérieur de votre répertoire flask_blog. Ensuite, à l’intérieur de ce répertoire, ouvrez un fichier appelé index.html pour l’éditer :

(env)sammy@localhost:$ mkdir templates (env)sammy@localhost:$ nano templates/index.html

Puis, ajoutez le code HTML suivant dans index.html :

flask_blog/templates/index.html

Sélectionnez

lang=”en”> charset=”UTF-8″> </a>FlaskBlog

Welcome to FlaskBlog

Enregistrez le fichier et utilisez votre navigateur pour naviguer à nouveau sur http://127.0.0.1:5000/ ou actualisez la page. Cette fois, le navigateur doit afficher le texte Welcome to FlaskBlog dans une balise

.

En plus du dossier templates, les applications web de Flask disposent généralement d’un dossier static pour l’hébergement des fichiers statiques, tels que les fichiers CSS, les fichiers JavaScript et les images utilisées par l’application.

Vous pouvez créer un fichier de feuille de style style.css pour ajouter du CSS à votre application. Tout d’abord, créez un répertoire appelé static à l’intérieur de votre répertoire principal flask_blog :

(env)sammy@localhost:$ mkdir static

Ensuite, créez un autre répertoire appelé css à l’intérieur du répertoire static pour héberger les fichiers .css. Cela est généralement fait pour organiser les fichiers statiques dans des dossiers dédiés. Par exemple, les fichiers JavaScript se trouvent généralement dans un répertoire appelé js, les images sont placées dans un répertoire appelé images (ou img), etc. La commande suivante créera le répertoire css à l’intérieur du répertoire static :

(env)sammy@localhost:$ mkdir static/css

Ouvrez ensuite un fichier style.css à l’intérieur du répertoire css pour l’éditer :

(env)sammy@localhost:$ nano static/css/style.css

Ajoutez la règle CSS suivante à votre fichier style.css :

Le code CSS ajoutera une bordure, changera la couleur en marron, centrera le texte et ajoutera un peu de padding aux balises

.

Enregistrez et fermez le fichier.

Ensuite, ouvrez le fichier de modèle index.html pour le modifier :

(env)sammy@localhost:$ nano templates/index.html

Vous ajouterez un lien vers le fichier style.css à l’intérieur de la section du fichier modèle index.html :

flask_blog/templates/index.html

Sélectionnez

FlaskBlog

Ici, vous utilisez la fonction d’aide url_for() pour générer l’emplacement approprié du fichier. Le premier argument spécifie que vous créez un lien vers un fichier statique et le deuxième argument est le chemin du fichier à l’intérieur du répertoire static.

Enregistrez et fermez le fichier.

En rafraîchissant la page d’index de votre application, vous remarquerez que le texte Welcome to FlaskBlog est maintenant en brun, centré et entouré d’une bordure.

Vous pouvez utiliser le langage CSS pour styliser l’application et la rendre plus attrayante en utilisant votre propre design. Toutefois, si vous n’êtes pas un concepteur de sites web ou si vous ne connaissez pas le langage CSS, vous pouvez utiliser la boîte à outils Bootstrap, qui fournit des composants faciles à utiliser pour styliser votre application. Dans ce projet, nous utiliserons Bootstrap.

Vous pourriez penser que la création d’un autre modèle HTML impliquerait la répétition de l’essentiel du code HTML que vous avez déjà écrit dans le modèle index.html. Vous pouvez éviter la répétition inutile du code à l’aide d’un fichier de modèle de base, dont tous vos fichiers HTML hériteront. Pour plus d’informations, voir la section Héritage de modèles dans Jinja.

Pour créer un modèle de base, créez d’abord un fichier appelé base.html dans votre répertoire templates :

(env)sammy@localhost:$ nano templates/base.html

Tapez le code suivant dans votre modèle base.html :

flask_blog/templates/base.html

Sélectionnez

{% block title %} {% endblock %}

{% block content %} {% endblock %}

Enregistrez et fermez le fichier une fois que vous avez terminé de le modifier.

La majeure partie du code du bloc précédent est du HTML standard et du code requis pour Bootstrap. Les balises fournissent des informations pour le navigateur web, la balise relie les fichiers CSS de Bootstrap et les balises

 

Richiedi info
1
Richiedi informazioni
Ciao Posso aiutarti?
Per qualsiasi informazione:
Inserisci il tuo nominativo e una descrizione sintetica dell'agevolazione o finanziamento richiesto.
Riceverai in tempi celeri una risposta.