Om Flask
Flask är ett Python-baserat ramverk för webbapplikationsutveckling som är speciellt utformat för att vara minimalt för att komma igång. Detta hjälper till med snabb prototypning, snabb utveckling och snabb distribution. Alla avancerade funktioner som du behöver lägga till i din webbapplikation kan läggas till via tillägg. Den officiella webbplatsen för Flask beskriver sig själv som ett "mikro" ramverk eftersom det lämnar alla större beslut till användarna själva och beslutar lite på uppdrag av dem. Användare kan välja sina egna mallmotorer, databashanteringsbibliotek, formulärvalideringsverktyg och så vidare, även om Flask kommer med vissa förnuftiga standardvärden.
Installerar Flask i Linux
Om du använder Ubuntu kan du installera Flask genom att utföra kommandot som nämns nedan:
$ sudo apt installera python3-kolvDu kan undvika att använda förvarets version och installera den senaste versionen av Flask från "pip" -pakethanteraren genom att köra två kommandon i följd:
$ sudo apt installera python3-pip$ pip3 installera kolven
Om du använder någon annan Linux-distribution, sök efter "Flask" -paket i pakethanteraren eller installera den från "pip" -installationsverktyget. Mer detaljerade instruktioner finns här.
När installationen är klar kan du kontrollera flaskversionen med kommandot som anges nedan:
$ python3 -c "importflaska; skriv ut (flaska.__version__)"Klient-servermodellen
Som tidigare nämnts används Flask för att utveckla webbapplikationer. Vanligtvis använder alla ramar för utveckling av webbapplikationer i Python och andra programmeringsspråk klient-serverarkitektur. Flask använder också en klient-servermodell där användare kan skriva serversidan logik för att skapa webbapplikationer eller webbplatser. ”Klienten” hänvisar här till en webbläsare eller någon annan app som tillåter återgivning av webbsidor med HTML-, JavaScript- och CSS-teknik. Medan "servern" hänvisar till en lokal eller fjärrserver där din Flask-app skriven på Python-språk körs.
När du kör en Flask-app lokalt på din dator skapas en lokal server automatiskt för att betjäna webbapplikationen. Flask kommer att mata ut en lokal värd-URL i din terminal. Du kan besöka denna URL i valfri webbläsare för att se slutresultatet. Du kan också ställa in en fjärrserver för att underlätta kommunikationen mellan en klient och server och starta din egen offentliga webbplats eller webbapplikation.
Du kan skapa klient-sidans HTML-, JavaScript- och CSS-kod som behövs för din webbapplikation med hjälp av serverns sidkod skriven i Flask och Python. Men när webbapplikationen har distribuerats och du kör den i en webbläsare ser eller förstår inte din webbapplikation Python-kod. Det bearbetar endast HTML, JavaScript och CSS eftersom endast dessa tekniker främst stöds av webbläsare. Du kommer fortfarande att kunna kommunicera med servern från klientsidan med hjälp av HTTP-förfrågningar. Du kan väldigt mycket skicka data från klient till server, bearbeta det med hjälp av viss logik på serversidan och returnera resultatet.
Beroende på vilken typ av webbapplikation du utvecklar kan du behöva bestämma var du ska implementera logik: från serversidan eller klientsidan från fall till fall.
Enkel Hello World-applikation i kolv
Du kan använda kodprovet nedan för att skapa en förenklad “Hello World” -applikation i Flask för att komma igång:
från kolvimport Kolvapp = kolv (__ namn__)
@app.rutt('/')
def hello_world_app ():
meddelande = "Hello World!!"
tillbaka meddelande
Det första uttalandet i ovanstående kodprov importerar klassen "Flask" från "flask" -modulen. När du väl har importerat kommer du att kunna använda alla tillgängliga metoder i klassen "Flaska".
I nästa uttalande skapas en ny instans av "Flask" -klassen och namnet på filen levereras till den som ett argument. Om du bara använder en enda “.py ”-fil utan ytterligare” __init__.py ”-fil som vanligtvis används när du skapar en filstruktur för ett Python-paket, kommer namnet att ha ett hårdkodat värde på“ __main__ ”. Argumentet "__name__" berättar för Flask var du ska leta efter filer som är relaterade till den aktuella kolvapplikationen som körs. Du kan också ange din egen anpassade sökväg till din huvudflaskfil istället för att ange ett "__name__" -argument. Men vanligtvis använder de flesta utvecklare endast "__name__" och detta verkar vara vanligt.
Nästa, en "dekoration" "app.rutt ”bifogas funktionen“ hello_world_app ”. Dekorationsfunktioner utökar eller modifierar funktionen de är kopplade till utan att faktiskt ändra dem. Här, ”app.rutt ”dekoratör används för att ange URL-sökvägen där den bifogade funktionen ska köras. Symbolen “/” säger till Flask att utföra en funktion på “/” URL, som står för “root” -domän eller “root” URL. Till exempel om webbadressen till din app är ”app.com ”, kommer funktionen att utlösas för” app.com ”URL. Du kan också ändra det till något annat. Till exempel genom att använda en dekoratör “@app.rutt ('/ helloworld') ”, kan du mappa funktionen till“ app.com / helloworld ”URL.
Slutligen används funktionen ”hello_world_app” för att returnera det innehåll du vill visa i en webbläsare när din webbapp körs.
Köra en flaskapp
För att köra en Flask-app i Linux måste du köra ett kommando i följande format:
$ export FLASK_APP = huvud.py$ kolvkörning
Ändra “main.py ”namn efter behov för att matcha det med ditt eget .”Py” -fil där du har skrivit din Flask-kod. Det andra kommandot kör din Flask-app. Du kan också köra det här alternativa kommandot:
$ FLASK_APP = huvud.py kolvkörningEfter att ha kört dessa kommandon bör du se en del utdata så här:
Öppna bara webbadressen som nämns i terminalen i en webbläsare för att se din applikation i aktion.
Du kan köra Flask-appen i felsökningsläge genom att använda miljövariabeln "FLASK_ENV" i följande format:
$ FLASK_ENV = utveckling FLASK_APP = main.py kolvkörningAnvända Jinja2 mallmotor
Flask använder "Jinja2" för att mallmotorn för att underlätta skrivning av HTML-kod i Python. Du kan använda den för att ställa in en markering för “Hello World!!”Meddelande.
Skapa en ny katalog som heter "mallar" där ditt huvudsakliga Flask-skript finns. Skapa en ny fil med namnet “hw_template” i katalogen ”mall”.html ”. Öppna “hw_template.html ”-fil och placera följande kod i den:
% if color%
Hej världen!!
% else%
Hej världen!!
% endif%
Den här koden är skriven i en syntax som "Jinja2" förstår. Du kan se dokumentationen "Jinja2" som finns här. Mallmarkeringen kontrollerar om en variabel med namnet “färg” har skickats till den eller inte. Om ja, ändrar det färgen på “Hello World!!”-Meddelande med värdet från” färg ”-variabeln som skickas till det.
För att skicka en variabel till "Jinja2" -mallen måste du skriva kod i följande format:
@app.rutt('/')def hello_world_app ():
returnera render_template ('hw_template.html ', color = "red")
Metoden "render_template" används för att göra markering från en mallfil "Jinja2". Du kan ange namnet på mallen du vill återge och alla argument du vill skicka till mallen. Den "hw_template.html-mall som används ovan bearbetar en "färg" -variabel efter att kolvkoden har skickat den till en "färg" -variabel med värdet "röd". Efter att ha kört kodprovet som nämns ovan bör du få följande resultat:
Du kan också skicka variabla värden från en webbadress i sig. Ta en titt på kodprovet nedan:
@app.rutt('/')@app.rutt('/
def hello_world_app (color = "blue"):
returnera render_template ('hw_template.html ', färg = färg)
Två URL-vägar eller rutter är kopplade till funktionen “hello_world_app”. När du besöker rotdomänen (exempel ”app.com ”), kommer du att se” Hello World!!”Meddelande i blå färg som standardvärde för” färg ”-variabel definieras som“ blå ”och detta är det värde du också skickar till” Jinja2 ”-mallen.
Den andra sökvägen definierad av “@app.rutt('/
Till exempel ”Hello World !!”Meddelandet ändras till rött när du besöker” app.com / red ”URL men den förblir blå när du besöker” app.com ”URL. Här är en jämförelse sida vid sida:
Slutsats
Flask är ett kraftfullt ramverk för utveckling av webbapplikationer som kan användas för att skapa både enkla och avancerade applikationer. Denna handledning förklarar huvudsakligen att skapa ett enkelt “Hello World!!" app. Du kan ansluta den till en databas och använda tillägg för att ytterligare utöka dess funktionalitet. Se dokumentationen för Flask för att veta mer om hantering av databaser och tillägg.