kolbe

Opret en Hello World-app ved hjælp af Flask Framework

Opret en Hello World-app ved hjælp af Flask Framework
Denne artikel vil dække en guide til at skrive en simpel hej verdensapplikation ved hjælp af Python-baseret "Flask" -ramme. Flask kan bruges til at oprette minimale, udvidelige og avancerede webapplikationer ved hjælp af et sæt biblioteker, der er inkluderet i modulet. Alle kodeeksempler i denne vejledning testes på Ubuntu 20.10 med Python version 3.8.6 og kolbe version 1.1.2.

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-kolbe

Du 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 Kolbe
app = 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øre

Efter 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øre

Brug 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:


Hej Verden!!
% 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('/') ”Bruger en særlig syntaks. Inden for "<>" symboler kan du definere alle variabler, der skal videregives til "hello_world_app" -funktionen. Standardværdien for denne variabel er defineret som et argument for funktionen “hello_word_app”. Du sender derefter din egen brugerdefinerede variabel som et argument til "render_template" -metoden og indstiller dens værdi til den variabel, du definerede, mens du dekorerer funktionen med en ny brugerdefineret 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.

Gratis og open source-spilmotorer til udvikling af Linux-spil
Denne artikel dækker en liste over gratis og open source-spilmotorer, der kan bruges til at udvikle 2D- og 3D-spil på Linux. Der er mange sådanne spil...
Shadow of the Tomb Raider til Linux-vejledning
Shadow of the Tomb Raider er den tolvte tilføjelse til Tomb Raider-serien - en action-adventure-spilfranchise oprettet af Eidos Montreal. Spillet blev...
Sådan styrkes FPS i Linux?
FPS står for Billeder i sekundet. FPS's opgave er at måle billedhastigheden i videoafspilninger eller spiloptræden. I enkle ord betegnes antallet af u...