Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Python in Visual Studio unterstützt die Entwicklung von Webprojekten in Bottle-, Flask- und Django-Frameworks über Projektvorlagen und ein Debugstartprogramm, das für die Verarbeitung verschiedener Frameworks konfiguriert werden kann. Diese Vorlagen enthalten eine requirements.txt Datei, um die erforderlichen Abhängigkeiten zu deklarieren. Wenn Sie ein Projekt aus einer dieser Vorlagen erstellen, fordert Visual Studio Sie auf, die abhängigen Pakete zu installieren, wie in den Installationsanforderungen weiter unten in diesem Artikel beschrieben.
Sie können auch die generische Webprojektvorlage für andere Frameworks wie Pyramid verwenden. In diesem Fall werden keine Frameworks mit der Vorlage installiert. Stattdessen installieren Sie die erforderlichen Pakete in der Umgebung, die Sie für das Projekt verwenden. Weitere Informationen finden Sie im Python-Umgebungsfenster – Registerkarte "Paket".
Projektvorlagenoptionen
Sie erstellen ein Projekt aus einer Vorlage, indem Sie im Symbolleistenmenü "Neues>Projekt>" auswählen. Im Dialogfeld " Neues Projekt erstellen" können Sie die Liste der Vorlagen filtern, um die für Python-Webprojekte verfügbaren Optionen anzuzeigen. Geben Sie schlüsselbegriffe in das Suchfeld ein, oder verwenden Sie die Filterdropdownmenüs, um Python als Sprache und Web als Projekttyp auszuwählen.
Nachdem Sie eine Vorlage ausgewählt haben, geben Sie einen Namen für das Projekt und die Projektmappe an, und legen Sie Optionen für das Lösungsverzeichnis und das Git-Repository fest.
Die allgemeine Webprojekt-Vorlage ermöglicht ein leeres Visual Studio-Projekt ohne Code und macht keine anderen Annahmen außer, dass es sich um ein Python-Projekt handelt. Die anderen Vorlagen basieren auf den Webframeworks "Bottle", "Flask" oder "Django" und sind in drei Kategorien gruppiert, wie in den folgenden Abschnitten beschrieben. Die von einer dieser Vorlagen erstellten Apps enthalten ausreichend Code, um die App lokal auszuführen und zu debuggen. Jede Vorlage stellt außerdem das erforderliche WSGI-App-Objekt (python.org) für die Verwendung mit Produktionswebservern bereit.
Leere Gruppe
Alle Vorlagen für leeres <Framework-Webprojekt> erstellen ein Projekt mit mehr oder weniger minimalem Textbausteincode und den erforderlichen Abhängigkeiten, die in einer requirements.txt Datei deklariert sind.
| Template | Description |
|---|---|
| Blank Bottle Web Project | Generiert eine minimale App in der Datei app.py mit einer Startseite am /-Standort und einer /hello/<name>-Seite, die den <name>-Wert mithilfe einer kurzen Inline-Seitenschablone wiedergibt. |
| Leeres Django-Webprojekt | Generiert ein Django-Projekt mit der zentralen Django-Websitestruktur, aber keine Django-Apps. Weitere Informationen finden Sie unter Django-Vorlagen und "Learn Django Step 1". |
| Leeres Flask-Webprojekt | Generiert eine minimale App mit einer einzelnen "Hello World!"-Seite für den / Ort. Diese App ähnelt dem Ergebnis der Durchführung der detaillierten Schritte in der Schnellstartanleitung: Verwenden Sie Visual Studio, um Ihre erste Python-Web-App zu erstellen. Weitere Informationen finden Sie unter Learn Flask Schritt 1. |
Webgruppe
Alle <Framework-Webprojektvorlagen> erstellen eine Startweb-App mit einem identischen Design, unabhängig vom gewählten Framework. Die App verfügt über Startseiten, Info- und Kontaktseiten sowie eine Navigationsmenüleiste und ein dynamisches Design, das Bootstrap verwendet. Jede App ist entsprechend für die Bereitstellung statischer Dateien (CSS, JavaScript und Schriftarten) konfiguriert und verwendet einen für das Framework geeigneten Seitenvorlagenmechanismus.
| Template | Description |
|---|---|
| Bottle Web Project | Generiert eine App, deren statische Dateien im statischen Ordner enthalten sind und über Code in der app.py-Datei verarbeitet werden. Routing für die einzelnen Seiten ist in der routes.py Datei enthalten. Der Ordner "Ansichten" enthält die Seitenvorlagen. |
| Django Web Project | Generiert ein Django-Projekt und eine Django-App mit drei Seiten, Authentifizierungsunterstützung und einer SQLite-Datenbank (aber keine Datenmodelle). Weitere Informationen finden Sie unter Django-Vorlagen und "Learn Django Step 4". |
| Flask Web Project | Generiert eine App, deren statische Dateien im statischen Ordner enthalten sind. Code in der views.py Datei verarbeitet Routing mit Seitenvorlagen, die das Jinja-Modul verwenden, das im Vorlagenordner enthalten ist. Die runserver.py Datei stellt Startcode bereit. |
Installationsanforderungen
Wenn Sie ein Projekt aus einer frameworkspezifischen Vorlage erstellen, bietet Visual Studio ein Dialogfeld, mit dem Sie die erforderlichen Pakete mithilfe von Pip installieren können. Außerdem wird empfohlen, eine virtuelle Umgebung für Webprojekte zu verwenden, um sicherzustellen, dass die richtigen Abhängigkeiten einbezogen werden, wenn Sie Ihre Website veröffentlichen:
Wenn Sie die Quellcodeverwaltung verwenden, lassen Sie normalerweise den Ordner der virtuellen Umgebung aus, da diese Umgebung nur mithilfe der requirements.txt Datei neu erstellt werden kann. Die beste Möglichkeit, den Ordner auszuschließen, besteht darin, zuerst die Option "Ich werde sie selbst installieren " auszuwählen und dann den automatischen Commit zu deaktivieren, bevor die virtuelle Umgebung erstellt wird. Weitere Informationen finden Sie unter „Git-Kontrollen untersuchen“ im „Django-Lernprogramm“ und „Flask-Lernprogramm“.
Wenn Sie Microsoft Azure App Service bereitstellen, wählen Sie eine Version von Python als Site-Erweiterung aus und installieren Sie Pakete manuell. Da Azure App Service pakete nicht automatisch aus einer requirements.txt-Datei installiert, wenn sie aus Visual Studio bereitgestellt wird, folgen Sie den Konfigurationsdetails zu aka.ms/PythonOnAppService.
Debuggingoptionen
Wenn Sie ein Webprojekt zum Debuggen öffnen, startet Visual Studio einen lokalen Webserver auf einem zufälligen Port und öffnet Ihren Standardbrowser für diese Adresse und diesen Port. Wenn Sie weitere Optionen angeben möchten, klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt, und wählen Sie "Eigenschaften" aus. Wählen Sie auf der Seite "Eigenschaften " die Registerkarte " Debuggen " aus.
Es gibt drei Gruppen allgemeiner Konfigurationsoptionen zum Debuggen des Projekts. Die Gruppe "Ausführen" enthält die folgenden Eigenschaften:
- Die Optionen "Suchpfade", "Skriptargumente", " Dolmetscherpfad" und "Dolmetscherargumente " sind identisch mit dem normalen Debuggen.
- Die Start-URL gibt die URL an, die in Ihrem Browser geöffnet wird. Der Standardspeicherort ist
localhost. - Die Portnummer identifiziert den zu verwendenden Port, wenn keine in der URL angegeben ist (Visual Studio wählt standardmäßig einen automatisch aus). Mit dieser Einstellung können Sie den Standardwert der
SERVER_PORTUmgebungsvariable außer Kraft setzen, der von den Vorlagen verwendet wird, um zu konfigurieren, auf welchen Port der lokale Debugserver lauscht. - Die Liste "Umgebung " definiert Variablen, die im Spawned-Prozess festgelegt werden sollen. Das Format ist eine durch neue Zeile getrennte Liste von
<NAME>=<VALUE>Paaren.
Die Eigenschaften in den Gruppen 'Serverbefehl ausführen ' und 'Debugserverbefehle ' bestimmen, wie der Webserver gestartet wird. Da viele Frameworks die Verwendung eines Skripts außerhalb des aktuellen Projekts erfordern, kann das Skript hier konfiguriert werden, und der Name des Startmoduls kann als Parameter übergeben werden.
- Der Befehl kann ein Python-Skript (eine *.py-Datei), einen Modulname (wie in
python.exe -m module_name), oder eine einzelne Codezeile (wie inpython.exe -c "code") sein. Der Wert im Dropdownfeld gibt an, welcher Typ beabsichtigt ist. - Die Liste der Argumente wird an die Befehlszeile übergeben, die dem Befehl folgt.
- Auch hier definiert die Liste "Umgebung " Variablen, die nach allen Eigenschaften festgelegt werden sollen, die die Umgebung ändern können, z. B. die Portnummer und Suchpfade. Diese Variablenwerte können andere Eigenschaftswerte überschreiben.
Jede Projekteigenschaft oder Umgebungsvariable kann mit MSBuild-Syntax angegeben werden, z. B. $(StartupFile) --port $(SERVER_PORT).
$(StartupFile) ist der relative Pfad zur Startdatei und {StartupModule} ist der importierbare Name der Startdatei.
$(SERVER_HOST) und $(SERVER_PORT) sind normale Umgebungsvariablen, die durch die Eigenschaften "Start-URL " und "Portnummer " festgelegt werden, automatisch oder durch die Eigenschaft "Environment" .
Hinweis
Werte im Befehl "Server ausführen" werden mit dem Befehl "Server im Debug modus starten>" oder der Tastenkombination STRG+ verwendet. Werte in der Gruppe " Debug server command " werden mit dem Befehl " Debug>Start Debug Server " oder F5 verwendet.
Konfiguration der Beispielflasche
Die Vorlage "Bottle Web Project" enthält Codebausteine, die die erforderliche Konfiguration ausführen. Eine importierte Flaschen-App enthält diesen Code möglicherweise nicht. In diesem Fall starten die folgenden Einstellungen die App mithilfe des installierten bottle Moduls:
Gruppe "Serverbefehl ausführen ":
-
Befehl:
bottle(Modul) -
Argumente:
--bind=%SERVER_HOST%:%SERVER_PORT% {StartupModule}:app
-
Befehl:
Debug-Server-Befehl-Gruppe
-
Befehl:
bottle(Modul) -
Argumente
--debug --bind=%SERVER_HOST%:%SERVER_PORT% {StartupModule}:app
-
Befehl:
Die --reload Option wird beim Verwenden von Visual Studio zum Debuggen nicht empfohlen.
Beispiel-Pyramidenkonfiguration
Pyramiden-Apps werden derzeit am besten mithilfe des pcreate Befehlszeilentools erstellt. Nachdem Sie die App erstellt haben, kann sie mithilfe der vorhandenen Python-Codevorlage importiert werden. Wählen Sie nach Abschluss des Imports die generische Webprojektanpassung aus, um die Optionen zu konfigurieren. Diese Einstellungen gehen davon aus, dass Pyramid in einer virtuellen Umgebung am ..\env Standort installiert ist.
Gruppe ausführen :
- Portnummer: 6543 (oder was in den .ini-Dateien konfiguriert ist)
Gruppe "Serverbefehl ausführen ":
- Befehl:
..\env\scripts\pserve-script.py(Skript) - Argumente:
Production.ini
- Befehl:
Debug server command group:
- Befehl:
..\env\scripts\pserve-script.py(Skript) - Argumente:
Development.ini
- Befehl:
Tipp
Wahrscheinlich müssen Sie die Arbeitsverzeichniseigenschaft Ihres Projekts konfigurieren, da Pyramiden-Apps in der Regel einen Ordner unterhalb des Projektstamms sind.
Andere Konfigurationen
Wenn Sie Einstellungen für ein anderes Framework haben, das Sie freigeben möchten, oder wenn Sie Einstellungen für ein anderes Framework anfordern möchten, öffnen Sie ein Problem auf GitHub.