Partager via


Modèles de projet d’application web Python

Python dans Visual Studio prend en charge le développement de projets web dans les frameworks Bottle, Flask et Django par le biais de modèles de projet et d’un lanceur de débogage qui peut être configuré pour gérer différentes infrastructures. Ces modèles incluent un fichier requirements.txt pour déclarer les dépendances nécessaires. Lorsque vous créez un projet à partir de l’un de ces modèles, Visual Studio vous invite à installer les packages dépendants, comme décrit dans la configuration requise pour l’installation plus loin dans cet article.

Vous pouvez également utiliser le modèle de projet web générique pour d’autres frameworks tels que Pyramid. Dans ce cas, aucune infrastructure n’est installée avec le modèle. Au lieu de cela, vous installez les packages nécessaires dans l’environnement que vous utilisez pour le projet. Pour plus d’informations, consultez la fenêtre environnements Python - Onglet Package.

Options de modèle de projet

Vous créez un projet à partir d’un modèle en sélectionnant Fichier>nouveau>projet dans le menu de la barre d’outils. Dans la boîte de dialogue Créer un projet , vous pouvez filtrer la liste des modèles pour afficher les options disponibles pour les projets web Python. Entrez les termes clés dans la zone de recherche ou utilisez les menus déroulants de filtre pour sélectionner Python comme langage et Web comme type de projet.

Capture d’écran montrant la boîte de dialogue Créer un projet avec les modèles filtrés pour afficher les options des applications web Python dans Visual Studio.

Après avoir sélectionné un modèle, vous fournissez un nom pour le projet et la solution, puis définissez des options pour le répertoire de la solution et le référentiel Git.

Le modèle de projet web générique fournit un projet Visual Studio vide sans code et ne fait aucune hypothèse autre que d’être un projet Python. Les autres modèles sont basés sur les frameworks web Bottle, Flask ou Django, et regroupés en trois catégories, comme décrit dans les sections suivantes. Les applications créées par l’un de ces modèles contiennent suffisamment de code pour exécuter et déboguer l’application localement. Chaque modèle fournit également l’objet d’application WSGI nécessaire (python.org) à utiliser avec des serveurs web de production.

Groupe vide

Tous les modèles de projet Web avec cadre vide> créent un projet avec un code standard plus ou moins minimal et les dépendances nécessaires déclarées dans un fichier requirements.txt.

Template Descriptif
Projet Web Blank Bottle Génère une application minimale dans le fichier app.py avec une page d’accueil pour l’emplacement / et une /hello/<name> page qui fait écho à la <name> valeur à l’aide d’un modèle de page inline court.
Projet web Django vide Génère un projet Django avec la structure de site Django principale, mais aucune application Django. Pour plus d’informations, consultez les modèles Django et Découvrez Django Étape 1.
Projet Flask Web vide Génère une application minimale avec une seule page « Hello World ! » pour l’emplacement / . Cette application est similaire au résultat des étapes détaillées décrites dans le guide de démarrage rapide : Utilisez Visual Studio pour créer votre première application web Python. Pour plus d’informations, consultez Learn Flask Étape 1.

Groupe web

Tous les <modèles de projet web Framework> créent une application web de démarrage avec une conception identique, quel que soit l’infrastructure choisie. L’application possède des pages Accueil, À propos et Contact, ainsi qu’une barre de menus de navigation et une conception réactive qui utilise Bootstrap. Chaque application est correctement configurée pour servir des fichiers statiques (CSS, JavaScript et polices) et utilise un mécanisme de modèle de page approprié pour l’infrastructure.

Template Descriptif
Projet web Bottle Génère une application dont les fichiers statiques sont contenus dans le dossier statique et gérés via du code dans le fichier app.py . Le routage des pages individuelles est contenu dans le fichier routes.py . Le dossier vues contient les modèles de page.
Projet web Django Génère un projet Django et une application Django avec trois pages, une prise en charge de l’authentification et une base de données SQLite (mais aucun modèle de données). Pour plus d’informations, consultez les modèles Django et Découvrez Django Étape 4.
Projet web Flask Génère une application dont les fichiers statiques sont contenus dans le dossier statique. Le code du fichier views.py gère le routage avec des modèles de page qui utilisent le moteur Jinja contenu dans le dossier modèles . Le fichier runserver.py fournit du code de démarrage.

Configuration requise pour l’installation

Lorsque vous créez un projet à partir d’un modèle spécifique à l’infrastructure, Visual Studio fournit une boîte de dialogue pour vous aider à installer les packages nécessaires à l’aide de pip. Nous vous recommandons également d’utiliser un environnement virtuel pour les projets web pour vous assurer que les dépendances correctes sont incluses lorsque vous publiez votre site web :

Capture d’écran montrant la boîte de dialogue pour installer des packages pour un modèle de projet dans Visual Studio.

Si vous utilisez le contrôle de code source, vous omettez généralement le dossier d’environnement virtuel, car cet environnement peut être recréé à l’aide du fichier requirements.txt uniquement. La meilleure façon d’exclure le dossier consiste à sélectionner l’option que je vais installer moi-même , puis désactiver la validation automatique avant de créer l’environnement virtuel. Pour plus d’informations, consultez Examiner les contrôles Git dans le didacticiel Learn Django et Learn Flask Tutorial.

Lorsque vous déployez sur Microsoft Azure App Service, sélectionnez une version de Python en tant qu’extension de site et installez manuellement des packages. En outre, étant donné qu’Azure App Service n’installe pas automatiquement les packages à partir d’un fichier requirements.txt lors du déploiement à partir de Visual Studio, suivez les détails de configuration sur aka.ms/PythonOnAppService.

Options de débogage

Lorsque vous ouvrez un projet web pour le débogage, Visual Studio démarre un serveur web local sur un port aléatoire et ouvre votre navigateur par défaut à cette adresse et à ce port. Pour spécifier d’autres options, cliquez avec le bouton droit sur le projet dans l’Explorateur de solutions, sélectionnez Propriétés. Dans la page Propriétés , sélectionnez l’onglet Débogage .

Capture d’écran montrant les propriétés du lanceur Web pour le modèle web générique dans Visual Studio.

Il existe trois groupes d’options de configuration courantes pour le débogage du projet. Le groupe d’exécution comprend les propriétés suivantes :

  • Les options Chemins de recherche, Arguments de script, Chemin d’accès de l’interpréteur et Arguments d’interpréteur sont les mêmes que pour le débogage normal.
  • L’URL de lancement spécifie l’URL qui s’ouvre dans votre navigateur. L’emplacement par défaut est localhost.
  • Le numéro de port identifie le port à utiliser, si aucun n’est spécifié dans l’URL (Visual Studio sélectionne un port automatiquement par défaut). Ce paramètre vous permet de remplacer la valeur par défaut de la SERVER_PORT variable d’environnement, utilisée par les modèles pour configurer le port sur lequel le serveur de débogage local écoute.
  • La liste d’environnement définit les variables à définir dans le processus généré. Le format est une liste de <NAME>=<VALUE> paires séparées par une nouvelle ligne.

Les propriétés dans les groupes de commandes Exécuter le serveur et de débogage déterminent la façon dont le serveur web est lancé. Étant donné que de nombreuses infrastructures nécessitent l’utilisation d’un script en dehors du projet actuel, le script peut être configuré ici et le nom du module de démarrage peut être passé en tant que paramètre.

  • La commande peut être un script Python (*.py fichier), un nom de module (comme dans, python.exe -m module_name) ou une seule ligne de code (comme dans, python.exe -c "code"). La valeur de la zone de liste déroulante indique le type prévu.
  • La liste des arguments est transmise sur la ligne de commande en suivant la commande.
  • Là encore, la liste Environnement définit des variables à définir après toutes les propriétés susceptibles de modifier l’environnement, telles que le numéro de port et les chemins de recherche. Ces valeurs de variable peuvent remplacer d’autres valeurs de propriété.

Toute propriété de projet ou variable d’environnement peut être spécifiée avec la syntaxe MSBuild, par $(StartupFile) --port $(SERVER_PORT)exemple . $(StartupFile) est le chemin relatif du fichier de démarrage et {StartupModule} est le nom importable du fichier de démarrage. $(SERVER_HOST) et $(SERVER_PORT) sont des variables d’environnement normales définies par les propriétés Launch URL et Port Number , automatiquement ou par la propriété Environment .

Note

Les valeurs dans Run Server Command sont utilisées avec la commande Déboguer>Démarrer le serveur ou le raccourci clavier Ctrl+F5. Les valeurs du groupe Debug Server Command sont utilisées avec la commande Debug>Start Debug Server ou F5.

Exemple de configuration de bouteille

Le modèle Bottle Web Project inclut du code réutilisable qui effectue la configuration nécessaire. Cependant, une application Bottle importée peut ne pas inclure ce code, auquel cas les paramètres suivants lancent l'application en utilisant le module installé bottle :

  • Groupe de commandes d'exécution de serveur :

    • Commande : bottle (module)
    • Arguments : --bind=%SERVER_HOST%:%SERVER_PORT% {StartupModule}:app
  • Groupe de commandes du serveur de débogage :

    • Commande : bottle (module)
    • Arguments--debug --bind=%SERVER_HOST%:%SERVER_PORT% {StartupModule}:app

L’option --reload n’est pas recommandée lors de l’utilisation de Visual Studio pour le débogage.

Exemple de configuration pyramidale

Les applications pyramidales sont actuellement les meilleures créées à l’aide de l’outil pcreate en ligne de commande. Après avoir créé l’application, elle peut être importée à l’aide du modèle de code Python existant . Une fois l’importation terminée, sélectionnez la personnalisation du projet web générique pour configurer les options. Ces paramètres supposent que Pyramid est installé dans un environnement virtuel à l’emplacement ..\env .

  • Groupe d’exécution :

    • Numéro de port : 6543 (ou tout ce qui est configuré dans les fichiers .ini )
  • Groupe 'Exécuter la commande du serveur' :

    • Commande : ..\env\scripts\pserve-script.py (script)
    • Arguments: Production.ini
  • Groupe de commandes du serveur de débogage :

    • Commande : ..\env\scripts\pserve-script.py (script)
    • Arguments: Development.ini

Conseil / Astuce

Vous devez probablement configurer la propriété Répertoire de travail de votre projet, car les applications Pyramid sont généralement un dossier situé sous la racine du projet.

Autres configurations

Si vous avez des paramètres pour un autre framework que vous souhaitez partager, ou si vous souhaitez demander des paramètres pour un autre framework, ouvrez un problème sur GitHub.