Megosztás a következőn keresztül:


Python-webalkalmazás-projektsablonok

A Python a Visual Studióban projektsablonokkal és egy hibakeresési indítóval támogatja a Web-, Flask- és Django-keretrendszerek webes projektjeinek fejlesztését, amelyek különböző keretrendszerek kezelésére konfigurálhatók. Ezek a sablonok egy requirements.txt fájlt tartalmaznak a szükséges függőségek deklarálásához. Amikor ezen sablonok egyikéből hoz létre projektet, a Visual Studio felkéri a függő csomagok telepítésére a jelen cikk későbbi , telepítési követelményeiben leírtaknak megfelelően.

Az általános webes projektsablont más keretrendszerekhez, például a Piramishoz is használhatja. Ebben az esetben nincsenek keretrendszerek telepítve a sablonnal. Ehelyett telepítse a szükséges csomagokat a projekthez használt környezetbe. További információért tekintse meg a Python-környezetek ablakban – Csomagok fül.

Projektsablon beállításai

A sablonból úgy hozhat létre projektet, hogy az eszköztár menüjében kiválasztja azÚj>projekt> lehetőséget. Az Új projekt létrehozása párbeszédpanelen szűrheti a sablonok listáját a Python-webes projektekhez elérhető lehetőségek megtekintéséhez. Írja be a kulcskifejezéseket a Keresőmezőbe , vagy a szűrő legördülő menükkel válassza ki a Pythont nyelvként, a webet pedig projekttípusként.

Képernyőkép az Új projekt létrehozása párbeszédpanelről, amelyen szűrt sablonok láthatók a Python-webalkalmazások lehetőségeinek megjelenítéséhez a Visual Studióban.

Miután kiválasztott egy sablont, meg kell adnia a projekt és a megoldás nevét, és meg kell adnia a megoldáskönyvtár és a Git-adattár beállításait.

Az általános Web Project-sablon egy kód nélküli, üres Visual Studio-projektet biztosít, és nem feltételez más feltételezéseket, mint Python-projekt. A többi sablon a Bottle, Flask vagy Django webes keretrendszereken alapul, és a következő szakaszokban ismertetett három kategóriába van csoportosítva. A sablonok bármelyike által létrehozott alkalmazások elegendő kódot tartalmaznak az alkalmazás helyi futtatásához és hibakereséséhez. Mindegyik sablon biztosítja a szükséges WSGI-alkalmazásobjektumot (python.org) az éles webkiszolgálókhoz való használatra.

Üres csoport

Minden üres <keretrendszer> webes projektsablonja létrehoz egy projektet, amely többé-kevésbé minimális sablonkódot és a szükséges függőségeket deklarálja egy requirements.txt fájlban.

Template Description
Üres üveg webes projekt Létrehoz egy minimális alkalmazást az app.py fájlban, amely a(z) / helyhez tartozó kezdőlapot tartalmazza és egy /hello/<name> oldalt, ami egy rövid beágyazott lapsablon segítségével megjeleníti az <name> értéket.
Üres Django Webprojekt Létrehoz egy Django-projektet a django-webhely alapvető struktúrájával, de django-alkalmazásokat nem. További információ: Django-sablonok és Learn Django 1. lépés.
Blank Flask Web Project Létrehoz egy minimális alkalmazást egyetlen "Hello World!" oldallal a / helyhez. Ez az alkalmazás hasonló a rövid útmutató részletes lépéseinek eredményéhez : Az első Python-webalkalmazás létrehozása a Visual Studióval. További információ: Learn Flask Step 1.

Webcsoport

Minden <Framework Web Project-sablon> létrehoz egy kezdő webalkalmazást, amely a választott keretrendszertől függetlenül azonos kialakítással rendelkezik. Az alkalmazás Kezdőlap, Névjegy és Kapcsolat lapokat tartalmaz, valamint navigációs menüsávot és rugalmas kialakítást, amely a Bootstrap-t használja. Minden alkalmazás megfelelően konfigurálva van statikus fájlok (CSS, JavaScript és betűtípusok) kiszolgálására, és a keretrendszernek megfelelő lapsablon-mechanizmust használ.

Template Description
Bottle Web Project Létrehoz egy alkalmazást, amelynek statikus fájljai a statikus mappában találhatók, és a app.py fájlban lévő kóddal kezelik. Az egyes lapok útválasztása a routes.py fájlban található. A nézetek mappa tartalmazza a lapsablonokat.
Django Web Project Létrehoz egy Django-projektet és egy Django-alkalmazást három oldallal, hitelesítési támogatással és SQLite-adatbázissal (adatmodellek nélkül). További információ: Django-sablonok és Learn Django 4. lépés.
Flask Web Project Létrehoz egy alkalmazást, amelynek statikus fájljai a statikus mappában találhatók. A views.py fájlban lévő kód a sablonok mappájában található Jinja motort használó lapsablonokkal kezeli az útválasztást . A runserver.py fájl indítási kódot biztosít.

Telepítési követelmények

Amikor keretrendszerspecifikus sablonból hoz létre projektet, a Visual Studio egy párbeszédpanelt biztosít, amellyel a pip használatával telepítheti a szükséges csomagokat. Azt is javasoljuk, hogy webes projektekhez használjon virtuális környezetet , hogy a webhely közzétételekor a megfelelő függőségek szerepeljenek:

Képernyőkép egy projektsablon csomagjainak Visual Studióban való telepítésére szolgáló párbeszédpanelről.

Ha forrásvezérlőt használ, általában kihagyja a virtuális környezet mappáját, mert ez a környezet csak a requirements.txt fájl használatával hozható létre. A legjobb módja annak, hogy kizárja a mappát, hogy először válassza ki az Magam telepítem őket lehetőséget, majd kapcsolja ki az automatikus mentést a virtuális környezet létrehozása előtt. További információ: Git-vezérlők vizsgálata a Learn Django oktatóanyagban és a Learn Flask oktatóanyagban.

A Microsoft Azure App Service-ben való üzembe helyezéskor válasszon egy Python-verziót webhelybővítményként , és telepítse manuálisan a csomagokat. Mivel az Azure App Service nem telepíti automatikusan a csomagokat requirements.txt fájlból a Visual Studióból való üzembe helyezéskor, kövesse a aka.ms/PythonOnAppService konfigurációs adatait.

Hibakeresési beállítások

Amikor megnyit egy webes projektet hibakeresésre, a Visual Studio elindít egy helyi webkiszolgálót egy véletlenszerű porton, és megnyitja az alapértelmezett böngészőt erre a címre és portra. További beállítások megadásához kattintson a jobb gombbal a projektre a Megoldáskezelőben, és válassza a Tulajdonságok lehetőséget. A Tulajdonságok lapon válassza a Hibakeresés lapot.

Képernyőkép a Visual Studio általános websablonjának webindító tulajdonságairól.

A projekt hibakereséséhez három gyakori konfigurációs lehetőség létezik. A Futtatás csoport a következő tulajdonságokat tartalmazza:

  • A keresési útvonalak, szkriptargumentumok, értelmezőútvonalak és értelmező argumentumok beállításai megegyeznek a normál hibakeresési lehetőségekkel.
  • A Launch URL a böngészőben megnyíló URL-címet adja meg. Az alapértelmezett hely a következő localhost: .
  • A portszám azonosítja a használni kívánt portot, ha nincs megadva az URL-címben (a Visual Studio alapértelmezés szerint automatikusan kiválaszt egyet). Ezzel a beállítással felülbírálhatja a SERVER_PORT környezeti változó alapértelmezett értékét, amelyet a sablonok használnak annak konfigurálásához, hogy a helyi hibakereső kiszolgáló melyik portot figyeli.
  • A Környezeti változók a létrehozott folyamat során beállítandó változókat határozza meg. A formátum <NAME>=<VALUE> párok új sorral elválasztott listája.

A Kiszolgáló futtatása parancs és a Hibakeresési kiszolgáló parancscsoport tulajdonságai határozzák meg a webkiszolgáló indításának módját. Mivel számos keretrendszerhez az aktuális projekten kívül is szükség van egy szkript használatára, a szkript itt konfigurálható, és az indítási modul neve paraméterként továbbítható.

  • A parancs lehet Egy Python-szkript (*.py fájl), egy modul neve (mint a fájlban), python.exe -m module_namevagy egy kódsor (mint a következőben python.exe -c "code"). A legördülő listában szereplő érték jelzi, hogy melyik típust kívánja használni.
  • Az argumentumok listája a parancsot követő parancssorban lesz átadva.
  • A Környezeti lista ismét definiálja azokat a változókat, amelyek a környezetet módosító összes tulajdonság , például a portszám és a keresési útvonalak után állíthatók be. Ezek a változóértékek felülírhatnak más tulajdonságértékeket.

Bármely projekttulajdonság vagy környezeti változó megadható az MSBuild szintaxissal, például $(StartupFile) --port $(SERVER_PORT). $(StartupFile) az indítási fájl relatív elérési útja, és {StartupModule} az indítási fájl importálható neve. $(SERVER_HOST) és $(SERVER_PORT) azok a normál környezeti változók, amelyeket a Launch URL és a Port Number tulajdonságok, automatikusan vagy a Environment tulajdonság állít be.

Megjegyzés:

A Kiszolgáló futtatása parancs értékeit a Hibakeresési>kiszolgáló parancs vagy a Ctrl+F5 billentyűparancs használja. A Hibakeresési kiszolgáló parancscsoport értékeit a Hibakeresésikiszolgáló indítása vagy >hibakeresési parancs használja.

Mintaüveg konfiguráció

A Bottle Web Project-sablon olyan sablonkódot tartalmaz, amely elvégzi a szükséges konfigurációt. Előfordulhat azonban, hogy egy importált palackalkalmazás nem tartalmazza ezt a kódot, ebben az esetben azonban a következő beállítások indítják el az alkalmazást a telepített bottle modul használatával:

  • Kiszolgálói parancscsoport futtatása :

    • Parancs: bottle (modul)
    • argumentumok: --bind=%SERVER_HOST%:%SERVER_PORT% {StartupModule}:app
  • Kiszolgálói parancscsoport hibakeresése :

    • Parancs: bottle (modul)
    • Argumentumok--debug --bind=%SERVER_HOST%:%SERVER_PORT% {StartupModule}:app

Hibakereséshez a --reload opció használata nem ajánlott a Visual Studio-ban.

Piramis-mintakonfiguráció

A piramisalkalmazásokat jelenleg a pcreate parancssori eszköz használatával lehet a legjobban létrehozni. Az alkalmazás létrehozása után a meglévő Python-kódsablon használatával importálható. Az importálás befejezése után a beállítások konfigurálásához válassza az Általános webprojekt testreszabását. Ezek a beállítások feltételezik, hogy a Piramis a helyszínen található virtuális környezetbe ..\env van telepítve.

  • Futtatás csoport

    • Portszám: 6543 (vagy bármi, ami a .ini fájlokban van konfigurálva)
  • Kiszolgálói parancscsoport futtatása :

    • Parancs: ..\env\scripts\pserve-script.py (szkript)
    • Érvek: Production.ini
  • Kiszolgálói parancscsoport hibakeresése :

    • Parancs: ..\env\scripts\pserve-script.py (szkript)
    • Érvek: Development.ini

Jótanács

Valószínűleg konfigurálnia kell a projekt Munkakönyvtár tulajdonságát, mert a Piramis-alkalmazások általában egy mappa a projekt gyökérkönyvtára alatt.

Egyéb konfigurációk

Ha egy másik, megosztani kívánt keretrendszer beállításaival rendelkezik, vagy ha szeretne beállításokat kérni egy másik keretrendszerhez, nyisson meg egy problémát a GitHubon.