Om Flask
Flask er en Python-baseret ramme til udvikling af webapplikationer, der er specielt designet til at være minimal for at komme i gang. Dette hjælper med hurtig prototyping, hurtig udvikling og hurtig implementering. Alle avancerede funktioner, du skal tilføje til din webapplikation, kan tilføjes via udvidelser. Den officielle side for Flask beskriver sig selv som en "mikro" ramme, da den overlader alle større beslutninger til brugerne selv og beslutter lidt på vegne af dem. Brugere kan vælge deres egne skabelonmotorer, databasestyringsbiblioteker, formvalideringsværktøjer og så videre, selvom Flask kommer med nogle fornuftige standarder.
Installation af kolbe i Linux
Hvis du bruger Ubuntu, kan du installere Flask ved at udføre nedenstående kommando:
$ sudo apt installere python3-kolbeDu kan undgå at bruge lagerversion og installere den nyeste version af Flask fra "pip" pakkehåndtering ved at køre efter to kommandoer i rækkefølge:
$ sudo apt installere python3-pip$ pip3 installer kolbe
Hvis du bruger en anden Linux-distribution, skal du søge efter "Flask" -pakker i pakkehåndteringen eller installere den fra "pip" -pakkeinstallationsværktøjet. Yderligere detaljerede instruktioner er tilgængelige her.
Når installationen er afsluttet, kan du kontrollere Flask-versionen ved hjælp af kommandoen angivet nedenfor:
$ python3 -c "importkolbe; udskriv (kolbe.__version__)"Klient-server-modellen
Som tidligere nævnt bruges Flask til at udvikle webapplikationer. Normalt bruger alle webapplikationsudviklingsrammer i Python og andre programmeringssprog klient-serverarkitektur. Flask bruger også en klientservermodel, hvor brugerne kan skrive logik på serversiden for at oprette webapplikationer eller websteder. "Klienten" refererer her til en webbrowser eller enhver anden app, der tillader gengivelse af websider ved hjælp af HTML-, JavaScript- og CSS-teknologier. Mens "serveren" henviser til en lokal eller ekstern server, hvor din Flask-app skrevet på Python-sprog udføres.
Når du kører en Flask-app lokalt på din pc, oprettes der automatisk en lokal server til at betjene webapplikationen. Kolben sender en lokalhost-URL i din terminal. Du kan besøge denne URL i enhver webbrowser for at se slutresultatet. Du kan også oprette en fjernserver for at lette kommunikationen mellem en klient og server og starte din egen offentlige webside eller webapplikation.
Du kan oprette klient-side HTML, JavaScript og CSS-kode, der er nødvendig til din webapplikation ved hjælp af serversides kode skrevet i Flask og Python. Men når webapplikationen er implementeret, og du kører den i en webbrowser, kan din webapplikation ikke se eller forstå Python-kode. Det behandler kun HTML, JavaScript og CSS, da kun disse teknologier hovedsageligt understøttes af webbrowsere. Du vil stadig være i stand til at kommunikere med serveren fra klientsiden ved hjælp af HTTP-anmodninger. Du kan meget videregive data fra klient til server, behandle dem ved hjælp af en server-logik og returnere resultatet.
Så afhængigt af hvilken type webapplikation du udvikler, skal du muligvis beslutte, hvor du skal implementere logik: på serversiden eller klientsiden fra sag til sag.
Enkel Hello World-applikation i kolbe
Du kan bruge kodeeksemplet nedenfor til at oprette en forenklet “Hello World” -applikation i Flask for at komme i gang:
fra kolbeimport Kolbeapp = kolbe (__ navn__)
@app.rute('/')
def hello_world_app ():
message = "Hej verden!!"
returnere besked
Den første sætning i ovenstående kodeeksempel importerer klassen "Kolbe" fra modulet "kolbe". Når du er importeret, kan du bruge alle tilgængelige metoder i klassen "Flaske".
I den næste erklæring oprettes en ny forekomst af "Flask" -klassen, og navnet på filen leveres til den som et argument. Hvis du bare bruger en enkelt “.py ”-fil uden en yderligere“ __init__.py ”-fil, der typisk bruges til oprettelse af en filstruktur til en Python-pakke, vil navnet have en hårdkodet værdi på“ __main__ ”. Argumentet “__name__” fortæller kolben, hvor de skal søge efter filer, der er relateret til den aktuelle kolbeapplikation, der udføres. Du kan også levere din egen brugerdefinerede sti til din vigtigste Flask-fil i stedet for at angive et "__name__" -argument. Men typisk bruger de fleste udviklere kun "__name__", og det ser ud til at være standardpraksis.
Dernæst en "dekoration" "app.rute ”er knyttet til funktionen“ hello_world_app ”. Dekorationsfunktioner udvider eller ændrer den funktion, de er knyttet til, uden faktisk at ændre dem. Her, “app.rute ”dekoratør bruges til at specificere URL-stien, hvor den vedhæftede funktion skal køre. “/” Symbolet fortæller Flask at udføre en funktion på “/” URL, som står for “root” domæne eller “root” URL. For eksempel hvis webadressen til din app er “app.com ”, udløses funktionen for“ app.com ”URL. Du kan også ændre det til noget andet. For eksempel ved hjælp af en dekoratør “@app.rute ('/ helloworld') ”, kan du kortlægge funktionen til“ app.com / helloworld ”URL.
Endelig bruges funktionen “hello_world_app” til at returnere det indhold, du vil have vist i en webbrowser, når din webapp kører.
Kørsel af en kolbe-app
For at køre en Flask-app i Linux skal du køre en kommando i følgende format:
$ eksport FLASK_APP = main.py$ kolbe køre
Skift “main.py ”navn efter behov for at matche det med dit eget .”Py” -fil, hvor du har skrevet din Flask-kode. Den anden kommando kører din Flask-app. Du kan også køre denne alternative kommando:
$ FLASK_APP = main.py kolbe køreEfter at have kørt disse kommandoer, skal du se noget output som dette:
Åbn bare URL'en, der er nævnt i terminalen, i en webbrowser for at se din applikation i aktion.
Du kan køre Flask-appen i fejlretningstilstand ved at bruge miljøvariablen “FLASK_ENV” i følgende format:
$ FLASK_ENV = udvikling FLASK_APP = main.py kolbe køreBrug af Jinja2 skabelonmotor
Flask bruger “Jinja2” til at skabelonmotoren for at lette skrivning af HTML-kode i Python. Du kan bruge den til at indstille en markering til “Hello World!!”Besked.
Opret en ny mappe kaldet "skabeloner", hvor dit vigtigste Flask-script er placeret. Inde i "skabelon" -mappen skal du oprette en ny fil med navnet "hw_template.html ”. Åbn “hw_template.html ”-fil og sæt følgende kode i den:
% hvis farve%
Hej Verden!!
% ellers%
Hej Verden!!
% Afslut Hvis %
Denne kode er skrevet i en syntaks, som “Jinja2” forstår. Du kan henvise til "Jinja2" dokumentation, der er tilgængelig her. Skabelonmarkeringen kontrollerer, om en variabel med navnet “farve” er sendt til den eller ej. Hvis ja, ændrer det farven på “Hello World!!”-Meddelelse ved hjælp af værdien fra“ farve ”-variablen, der sendes til den.
For at overføre en variabel til "Jinja2" -skabelonen skal du skrive kode i følgende format:
@app.rute('/')def hello_world_app ():
returner render_template ('hw_template.html ', color = "rød")
Metoden "render_template" bruges til at gengive markering fra en "Jinja2" skabelonfil. Du kan angive navnet på den skabelon, du vil gengive, og de argumenter, du vil videregive til skabelonen. Den “hw_template.html-skabelon, der er brugt ovenfor, behandler en "farve" -variabel, efter at kollekoden har passeret den, en "farve" -variabel, der har værdien "rød". Efter at have kørt ovenstående kodeeksempel, skal du få følgende resultat:
Du kan også videregive variable værdier fra selve en URL. Se på nedenstående kodeeksempel:
@app.rute('/')@app.rute('/
def hello_world_app (color = "blue"):
returner render_template ('hw_template.html ', farve = farve)
To URL-stier eller ruter er knyttet til funktionen “hello_world_app”. Når du besøger roddomænet (eksempel “app.com ”), vil du se“ Hello World!!”Meddelelse i blå farve som standardværdi for“ farve ”variabel er defineret som“ blå ”, og dette er den værdi, du også sender til“ Jinja2 ”skabelon.
Den anden sti defineret af “@app.rute('/
For eksempel ”Hej verden !!”Besked skifter til rød farve, når du besøger“ app.com / red ”URL, men den forbliver blå, når du besøger“ app.com ”URL. Her er en sammenligning side om side:
Konklusion
Flask er en stærk ramme om udvikling af webapplikationer, der kan bruges til at oprette både enkle og avancerede applikationer. Denne vejledning forklarer primært oprettelsen af et simpelt “Hello World!!”App. Du kan oprette forbindelse til en database og bruge udvidelser til yderligere at udvide dens funktionalitet. Se Flask-dokumentation for at vide mere om administration af databaser og udvidelser.