balon

Creați o aplicație Hello World folosind Flask Framework

Creați o aplicație Hello World folosind Flask Framework
Acest articol va acoperi un ghid despre scrierea unei aplicații simple Hello World folosind cadrul „Flask” bazat pe Python. Flask poate fi utilizat pentru a crea aplicații web minime, extensibile și avansate utilizând un set de biblioteci incluse în modulul său. Toate mostrele de cod din acest tutorial sunt testate pe Ubuntu 20.10 având versiunea 3 a Python.8.6 și Flask versiunea 1.1.2.

Despre Flask

Flask este un cadru de dezvoltare de aplicații web bazat pe Python, special conceput pentru a fi minim pentru a începe. Acest lucru ajută la prototiparea rapidă, dezvoltarea rapidă și implementarea rapidă. Orice funcții avansate pe care trebuie să le adăugați la aplicația dvs. web pot fi adăugate prin intermediul extensiilor. Site-ul oficial al Flask se descrie ca un „micro” cadru, întrucât lasă toate deciziile majore în sarcina utilizatorilor și decide puțin în numele lor. Utilizatorii își pot alege propriile motoare de șabloane, biblioteci de gestionare a bazelor de date, instrumente de validare a formularelor și așa mai departe, deși Flask vine cu unele implicite sănătoase.

Instalarea Flask în Linux

Dacă utilizați Ubuntu, puteți instala Flask executând comanda menționată mai jos:

$ sudo apt instalează python3-flask

Puteți evita utilizarea versiunii de depozit și puteți instala cea mai recentă versiune de Flask din managerul de pachete „pip” executând următoarele două comenzi succesiv:

$ sudo apt instalează python3-pip
$ pip3 instalați balonul

Dacă utilizați orice altă distribuție Linux, căutați pachetele „Flask” în managerul de pachete sau instalați-l din instrumentul de instalare a pachetelor „pip”. Instrucțiuni detaliate suplimentare sunt disponibile aici.

După finalizarea instalării, puteți verifica versiunea Flask utilizând comanda specificată mai jos:

$ python3 -c "import flask; print (flask.__versiune__)"

Modelul Client-Server

După cum sa menționat anterior, Flask este utilizat pentru a dezvolta aplicații web. De obicei, toate cadrele de dezvoltare a aplicațiilor web din Python și alte limbaje de programare utilizează arhitectura client-server. Flask folosește, de asemenea, un model client-server în care utilizatorii pot scrie logică pe partea de server pentru a crea aplicații web sau site-uri web. „Clientul” de aici se referă la un browser web sau la orice altă aplicație care permite redarea paginilor web utilizând tehnologiile HTML, JavaScript și CSS. În timp ce „serverul” se referă la un server local sau la distanță în care este executată aplicația dvs. Flask scrisă în limba Python.

Când rulați o aplicație Flask local pe computerul dvs., un server local este creat automat pentru a servi aplicația web. Flask va afișa un URL localhost în terminalul dvs. Puteți vizita această adresă URL în orice browser web pentru a vedea rezultatul final. De asemenea, puteți configura un server de la distanță pentru a facilita comunicarea între client și server și pentru a lansa propriul site web public sau aplicația web.

Puteți crea cod HTML, JavaScript și CSS pentru client, necesare aplicației dvs. web, utilizând codul serverului scris în Flask și Python. Dar odată ce aplicația web este implementată și o rulați într-un browser web, aplicația dvs. web nu va vedea sau nu va înțelege codul Python. Acesta va procesa HTML, JavaScript și CSS numai deoarece doar aceste tehnologii sunt acceptate în principal de browserele web. Veți putea comunica în continuare cu serverul din partea clientului folosind cereri HTTP. Puteți trece foarte mult date de la client la server, le puteți procesa folosind o logică laterală a serverului și puteți returna rezultatul.

Deci, în funcție de tipul de aplicație web pe care o dezvoltați, poate fi necesar să decideți unde să implementați logica: pe partea serverului sau clientului, de la caz la caz.

Aplicație simplă Hello World în Flask

Puteți utiliza exemplul de cod de mai jos pentru a crea o aplicație simplistă „Hello World” în Flask pentru a începe:

din flacon import Flacon
app = Flask (__ nume__)
@app.traseu('/')
def hello_world_app ():
mesaj = "Hello World!!"
returnează mesajul

Prima declarație din exemplul de cod de mai sus importă clasa „Flask” din modulul „flask”. Odată importat, veți putea folosi toate metodele disponibile în clasa „Flask”.

În următoarea declarație, se creează o nouă instanță a clasei „Flask” și numele fișierului îi este furnizat ca argument. Dacă folosiți doar un singur „.py ”fără un fișier„ __init__ ”suplimentar.py ”utilizat în mod obișnuit la crearea unei structuri de fișiere pentru un pachet Python, numele va avea o valoare codificată„ __main__ ”. Argumentul „__name__” îi spune Flask unde să caute fișierele legate de aplicația curentă a balonului care se execută. De asemenea, puteți furniza propria cale personalizată către fișierul principal Flask în loc să furnizați un argument „__name__”. Dar, de obicei, majoritatea dezvoltatorilor folosesc numai „__name__” și aceasta pare a fi o practică standard.

Apoi, o aplicație „decor”.ruta ”este atașată la funcția„ hello_world_app ”. Funcțiile de decorare extind sau modifică funcția de care sunt atașate, fără a le modifica efectiv. Aici, „app.route ”decorator este folosit pentru a specifica calea URL pe care va rula funcția atașată. Simbolul „/” îi spune Flask să execute o funcție pe adresa URL „/”, care înseamnă domeniul „rădăcină” sau adresa URL „rădăcină”. De exemplu, dacă adresa URL a aplicației dvs. este „app.com ”, funcția va fi declanșată pentru„ aplicație.com ”URL. Îl puteți schimba și la altceva. De exemplu, folosind un decorator „@app.route ('/ helloworld') ”, puteți asocia funcția la„ aplicație.URL com / helloworld ”.

În cele din urmă, funcția „hello_world_app” este utilizată pentru a returna conținutul pe care doriți să îl afișați într-un browser web când aplicația dvs. web rulează.

Rularea unei aplicații Flask

Pentru a rula o aplicație Flask în Linux, trebuie să rulați o comandă în următorul format:

$ export FLASK_APP = principal.py
$ flask run

Schimbați „principal.py ”nume după cum este necesar pentru a-l potrivi cu al tău .Fișierul „py” în care ați scris codul Flask. A doua comandă rulează aplicația dvs. Flask. De asemenea, puteți rula această comandă alternativă, de asemenea:

$ FLASK_APP = principal.balonul py rula

După ce rulați aceste comenzi, ar trebui să vedeți unele ieșiri de genul:

Doar deschideți adresa URL menționată în terminal într-un browser web pentru a vedea aplicația dvs. în acțiune.

Puteți rula aplicația Flask în modul de depanare utilizând variabila de mediu „FLASK_ENV” în următorul format:

$ FLASK_ENV = dezvoltare FLASK_APP = principal.balonul py rula

Utilizarea motorului de șabloane Jinja2

Flask folosește „Jinja2” la motorul de șabloane pentru a facilita scrierea codului HTML în Python. Îl puteți folosi pentru a seta un markup pentru „Hello World!!”Mesaj.

Creați un director nou numit „șabloane” în care se află scriptul principal Flask. În directorul „șablon”, creați un fișier nou numit „hw_template.html ”. Deschideți „hw_template”.html ”și introduceți următorul cod în el:


Salut Lume!!
% dacă culoare%

Salut Lume!!


% else%

Salut Lume!!


% endif%

Acest cod este scris într-o sintaxă pe care „Jinja2” o înțelege. Puteți consulta documentația „Jinja2” disponibilă aici. Marcarea șablonului verifică dacă i s-a transmis sau nu o variabilă numită „culoare”. Dacă da, atunci schimbă culoarea „Hello World!!”Mesaj folosind valoarea din variabila„ culoare ”transmisă către acesta.

Pentru a trece o variabilă la șablonul „Jinja2”, trebuie să scrieți codul în următorul format:

@app.traseu('/')
def hello_world_app ():
returnează model_rend ('hw_template.html ', color = "roșu")

Metoda „render_template” este utilizată pentru a reda marcarea dintr-un fișier șablon „Jinja2”. Puteți furniza numele șablonului pe care doriți să îl redați și orice argumente pe care doriți să le transmiteți șablonului. „Modelul hw_.șablonul html ”folosit mai sus procesează o variabilă„ culoare ”după ce codul Flask i-a trecut o variabilă„ culoare ”având o valoare„ roșie ”. După ce rulați exemplul de cod menționat mai sus, ar trebui să obțineți următorul rezultat:

De asemenea, puteți transmite valori variabile de la un URL în sine. Aruncați o privire la exemplul de cod de mai jos:

@app.traseu('/')
@app.traseu('/')
def hello_world_app (color = "albastru"):
returnează model_rendare ('hw_template.html ', color = color)

La funcția „hello_world_app” sunt atașate două căi sau rute URL. Când vizitați domeniul rădăcină (exemplu „aplicație.com ”), veți vedea„ Hello World!!Mesajul ”în culoare albastră ca valoare implicită pentru variabila„ culoare ”este definit ca„ albastru ”și aceasta este valoarea pe care o transmiteți și șablonului„ Jinja2 ”.

A doua cale definită de „@app.traseu('/') ”Folosește o sintaxă specială. În cadrul simbolurilor „<>”, puteți defini orice variabilă pentru a trece la funcția „hello_world_app”. Valoarea implicită pentru această variabilă este definită ca un argument pentru funcția „hello_word_app”. Apoi treceți propria variabilă personalizată ca argument la metoda „render_template” și setați valoarea acesteia la variabila pe care ați definit-o în timp ce decorați funcția cu un nou traseu personalizat.

De exemplu, „Hello World !!Mesajul ”se va schimba în culoarea roșie când vizitați aplicația”.com / roșu ”, dar va rămâne albastru când accesați„ aplicația.com ”URL. Iată o comparație side-by-side:

Concluzie

Flask este un cadru puternic de dezvoltare a aplicațiilor web care poate fi utilizat pentru a crea atât aplicații simple, cât și aplicații avansate. Acest tutorial explică în principal crearea unui simplu „Hello World!!”Aplicație. Puteți să-l conectați la o bază de date și să utilizați extensii pentru a-i extinde funcționalitatea. Consultați documentația Flask pentru a afla mai multe despre gestionarea bazelor de date și a extensiilor.

Top 10 jocuri de jucat pe Ubuntu
Platforma Windows a fost una dintre platformele dominante pentru jocuri din cauza procentului imens de jocuri care se dezvoltă astăzi pentru a sprijin...
Cele mai bune 5 jocuri arcade pentru Linux
În zilele noastre, computerele sunt mașini serioase folosite pentru jocuri. Dacă nu puteți obține noul scor mare, veți ști la ce mă refer. În această ...
Battle For Wesnoth 1.13.6 Development Released
Battle For Wesnoth 1.13.6 released last month, is the sixth development release in the 1.13.x series and it delivers a number of improvements, most no...