Python Flask που εξηγείται σε 5 λεπτά ή λιγότερο

Το Python Flask είναι ένα μικροπλαίσιο για τη δημιουργία διαδικτυακών εφαρμογών στην Python.
Είναι ένα πολύ ευέλικτο και προσαρμόσιμο πλαίσιο που κάνει τη μάθηση εύκολη. Ως αποτέλεσμα, είναι μια δημοφιλής επιλογή κατά την κατασκευή διακομιστών Ιστού. Αυτό το άρθρο παρουσιάζει το Python Flask: τι είναι, πώς συγκρίνεται με άλλα πλαίσια και πώς να δημιουργήσετε μια βασική εφαρμογή στην Python.
Πίνακας περιεχομένων
Τι είναι το Flask;
Φλάσκα είναι ένα πλαίσιο για τη δημιουργία διακομιστών ιστού στην Python. Σε αντίθεση με άλλα πλαίσια, δεν αναγκάζει τον προγραμματιστή να συμμορφωθεί με μια συγκεκριμένη δομή καταλόγου.
Επιπλέον, δεν έχει γνώμη, επιτρέποντάς σας να χρησιμοποιείτε όποια εργαλεία προτιμάτε για να εκτελέσετε ενέργειες όπως σύνδεση σε μια βάση δεδομένων και επικύρωση εισόδων φόρμας.
Όπως αναφέρθηκε, το Flask χρησιμοποιείται για την κατασκευή διακομιστών Ιστού. Ένας διακομιστής ιστού είναι λογισμικό που ανταποκρίνεται σε αιτήματα HTTP με τα κατάλληλα δεδομένα και αρχεία.
Flask vs. Other Frameworks
Αυτή η ενότητα θα συγκρίνει εν συντομία το Flask με δύο άλλα δημοφιλή πλαίσια – το Django και το Fast API. Θα καλύψουμε τα πλεονεκτήματα και τους περιορισμούς της χρήσης του Flask έναντι των άλλων πλαισίων.
Flask εναντίον Django
Το Flask είναι ένα ελαφρύ μικροπλαίσιο. Προσφέρει στους προγραμματιστές απλότητα και ευελιξία, επιτρέποντάς σας να χτίζετε όσο πηγαίνετε. Ωστόσο, αυτό σημαίνει ότι πρέπει να κάνετε πολλή δουλειά μόνοι σας.
Από την άλλη πλευρά, το Django είναι ένα πλαίσιο που περιλαμβάνει μπαταρίες και συνοδεύεται από πολλά προρυθμισμένα εργαλεία. Αυτό σας δίνει τη δυνατότητα να κατασκευάζετε και να αποστέλλετε πιο γρήγορα. Ωστόσο, το Django δεν είναι πολύ ευέλικτο και έχει μια πιο απότομη καμπύλη εκμάθησης.
Ως αποτέλεσμα, το Flask χρησιμοποιείται για έργα μικρού και μεσαίου μεγέθους, ενώ το Django για μεγαλύτερα και πιο σύνθετα έργα.
Διαβάστε επίσης: Διαφορές ανάμεσα στο Flask και το Django
Flask εναντίον FastAPI
Το FastAPI είναι ένα σχετικά νέο πλαίσιο για τη δημιουργία API στην Python. Είναι γρήγορο και εύκολο στη χρήση. Παρέχει ενσωματωμένη παρακολούθηση ως χαρακτηριστικό. Ωστόσο, είναι ένα νέο πλαίσιο με σχετικά μικρό οικοσύστημα και κοινότητα. Επιπλέον, η χρήση του περιορίζεται σε API.
Αντίθετα, το Flask είναι πιο ευέλικτο καθώς μπορεί να χρησιμοποιηθεί τόσο για API όσο και για απόδοση στατικών αρχείων. Είναι ελαφρύ και σχετικά εύκολο. Ωστόσο, είναι πιο αργό από το FastAPI.
Το Flask είναι το πλέον κατάλληλο για εφαρμογές web όπου πρέπει να αποδώσετε HTML, ενώ το FastAPI θα πρέπει να χρησιμοποιείται για τη δημιουργία API.
Διαβάστε επίσης: FastAPI εναντίον Flask: Ποιο από τα δύο είναι κατάλληλο για εσάς;
Πώς να δημιουργήσετε μια εφαρμογή στο Flask
Σε αυτήν την ενότητα, θα δημιουργήσουμε μια απλή εφαρμογή Flask για την εμφάνιση ορισμένων HTML και την παροχή δεδομένων μέσω ενός API. Το θέμα δεν είναι να παρέχουμε ένα ολοκληρωμένο σεμινάριο στο Flask. Αντίθετα, ο στόχος είναι να σας δείξουμε εν συντομία πώς θα μοιάζει η κατασκευή μιας εφαρμογής Flask.
Προαπαιτούμενα
Για να ακολουθήσετε αυτό το σεμινάριο, πρέπει να κατανοήσετε την Python 3. Επιπλέον, η εξοικείωση με το HTTP θα ήταν χρήσιμη, αν και όχι απαραίτητη.
Για να δημιουργήσετε μια εφαρμογή στο Flask, πρέπει πρώτα να εγκαταστήσετε την Python. Εάν χρειάζεστε έναν οδηγό για το πώς να το κάνετε, ακολουθεί ένα βίντεο που θα σας καθοδηγήσει:
Δημιουργήστε ένα εικονικό περιβάλλον
Αρχικά, δημιουργήστε έναν φάκελο έργου για την εφαρμογή. Εκτελώ τις εντολές μου στο Bash Terminal. Επομένως, δημιουργώ έναν φάκελο χρησιμοποιώντας την ακόλουθη εντολή:
mkdir flask-tut
Στη συνέχεια, πλοηγηθείτε μέσα στο φάκελο χρησιμοποιώντας την εντολή:
cd flask-tut
Αφού πλοηγηθείτε στο φάκελο, δημιουργήστε ένα εικονικό περιβάλλον χρησιμοποιώντας αυτήν την εντολή. Αυτό διασφαλίζει ότι οι εξαρτήσεις που θα εγκαταστήσουμε δεν έρχονται σε αντίθεση με εξαρτήσεις από άλλα έργα.
python3 -m venv venv
Αυτό θα πρέπει να δημιουργήσει έναν φάκελο venv, τον οποίο μπορείτε να δείτε με την εντολή:
ls
Ενεργοποίηση εικονικού περιβάλλοντος
Η ενεργοποίηση ενός εικονικού περιβάλλοντος είναι εύκολη. Χρησιμοποιώντας το τερματικό Bash, πληκτρολογήστε την εντολή:
source venv/bin/activate
Η προτροπή του τερματικού σας θα πρέπει να αλλάξει από αυτό το $ σε αυτό το (venv) $.
Για περισσότερες πληροφορίες, ακολουθεί ένα άρθρο σχετικά με τα εικονικά περιβάλλοντα στην Python.
Εγκαταστήστε το Flask
Με ένα εικονικό περιβάλλον, μπορούμε να προχωρήσουμε στην εγκατάσταση του Flask. Για αυτό, θα χρησιμοποιήσουμε το pip:
pip install Flask
Αυτό θα πρέπει να κατεβάσει ορισμένα αρχεία και να εγκαταστήσει εξαρτήσεις.
Εξυπηρέτηση κάποιου HTML
Στη συνέχεια, μπορούμε να αρχίσουμε να εργαζόμαστε στο αρχείο main.py. Αυτό το αρχείο θα είναι το σημείο εισόδου της εφαρμογής.
touch main.py
Αφού δημιουργήσετε το αρχείο main.py, ανοίξτε το με τον επεξεργαστή που προτιμάτε και προσθέστε τον ακόλουθο κώδικα:
from flask import Flask app = Flask(__name__) @app.route("/") def index(): return '<h1>Hello from Flask!</h1>'
Στο παραπάνω απόσπασμα κώδικα, ξεκινήσαμε εισάγοντας την κλάση Flask. Στη συνέχεια, δημιουργήσαμε την κλάση Flask, περνώντας στη μεταβλητή __name__. Αυτή είναι μια ενσωματωμένη μεταβλητή που αποθηκεύει το όνομα της τρέχουσας μονάδας. Το Flask χρειάζεται αυτό για να ξέρει πού να βρει αρχεία. Αποθηκεύσαμε την παρουσία του Flask στη μεταβλητή της εφαρμογής.
Στη συνέχεια, δημιουργήσαμε μια συνάρτηση που ονομάζεται ευρετήριο. Αυτή η συνάρτηση επιστρέφει το HTML που θέλουμε να εμφανίσουμε στον χρήστη. Πριν από τον ορισμό της συνάρτησης, χρησιμοποιήσαμε το @app.route decorator. Αυτός ο διακοσμητής μετατρέπει μια κανονική λειτουργία σε λειτουργία προβολής φιάλης. Αυτό σημαίνει ότι η τιμή επιστροφής της συνάρτησης θα μετατραπεί σε απόκριση HTML.
Για να τρέξουμε την εφαρμογή χρησιμοποιούμε την εντολή:
flask --app main run
Η σημαία –app καθορίζει πού βρίσκεται η εφαρμογή. Σε αυτή την περίπτωση, στο main.py. Ο διακομιστής πρέπει να ξεκινήσει να λειτουργεί.
Και αν ανοίξετε το πρόγραμμα περιήγησης στο http://localhost:5000 ή στο http://127.0.0.1:5000, θα πρέπει να δείτε ένα h1:
Το να γράψουμε όλο το HTML στον κώδικα Python μας θα ήταν γενικά κακό. Στην ιδανική περίπτωση, θα θέλαμε να διαχωρίσουμε την Python από την HTML. Η επόμενη ενότητα θα εξετάσει τον τρόπο προβολής μεμονωμένων αρχείων HTML.
Εξυπηρέτηση αρχείου HTML
Σε αυτήν την ενότητα, θα γράψουμε τον κώδικα για την προβολή ενός αρχείου index.html για τον ιστότοπό μας. Αρχικά, ας δημιουργήσουμε το αρχείο index.html. Θα δημιουργήσουμε αυτό το αρχείο μέσα στο φάκελο templates γιατί εκεί το Flask αναζητά το πρότυπο HTML μας
touch template/index.html
Στη συνέχεια, ανοίξτε το αρχείο χρησιμοποιώντας το πρόγραμμα επεξεργασίας που προτιμάτε και προσθέστε τον ακόλουθο κώδικα:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Flask Website</title> </head> <body> <h1>Hello from Flask!</h1> </body> </html>
Στη συνέχεια, ανοίξτε ξανά το αρχείο main.py που δημιουργήσαμε νωρίτερα. Στη συνέχεια, προσθέστε την ακόλουθη εισαγωγή στο επάνω μέρος, αμέσως μετά την εισαγωγή Flask:
from flask import render_template
Η συνάρτηση render_template που μόλις εισαγάγαμε μας δίνει τη δυνατότητα να εξυπηρετούμε πρότυπα HTML. Για να αποδώσουμε ένα αρχείο HTML, τροποποιούμε τη συνάρτηση ευρετηρίου ώστε να μοιάζει με αυτό:
@app.route("/") def index(): return render_template('index.html')
Σταματήστε τον διακομιστή (Ctrl + C) και επανεκκινήστε τον χρησιμοποιώντας την ακόλουθη εντολή:
flask --app main run
Φορτώστε ξανά το παράθυρο του προγράμματος περιήγησης και θα δείτε τα εξής.
Σε αυτό το παράδειγμα, εμφανίζουμε μια στατική σελίδα HTML. Με το Flask, μπορείτε επίσης να εμφανίσετε πρότυπα δημιουργώντας πρότυπα HTML και παρέχοντας δεδομένα. Αυτά τα πρότυπα ακολουθούν τη σύνταξη Jinja. Δεν θα το καλύψουμε εδώ για συντομία, αλλά θα συνδέσω μερικούς καλούς πόρους για να μάθετε το Flask αργότερα.
Δημιουργία διαδρομής API
Η εμφάνιση περιεχομένου HTML είναι μια λειτουργία των εφαρμογών Ιστού. Το άλλο είναι η εξυπηρέτηση δεδομένων μέσω μιας διαδρομής API. Στο Flask, είναι επίσης εύκολο να ρυθμίσετε διαδρομές API. Προσθέστε αυτόν τον κώδικα στο αρχείο main.py για να δημιουργήσετε μια διαδρομή API στο ‘/data’.
@app.route('/data') def data(): return { "status": "OK", "msg": "Hello from Flask API" }
Εάν μια συνάρτηση επιστρέφει μια εντολή ή λίστα, η τιμή μετατρέπεται σε JSON και αποστέλλεται ως απάντηση. Εάν κάνετε επανεκκίνηση του διακομιστή και ανοίξετε το http://localhost:5000/data, θα πρέπει να δείτε τα εξής:
Πόροι για να μάθετε Flask
❇️ Το Τεκμηρίωση φιάλης είναι εξαιρετικό για μάθηση. Είναι καλά δομημένο, σαφές και είναι ίσως η πιο αξιόπιστη πηγή για την εκμάθηση του Flask.
❇️ διαθέτει και το freeCodeCamp ένα υπέροχο βίντεο στο YouTube στο Flask. Το freeCodeCamp είναι ένα γνωστό όνομα για δωρεάν αλλά εξαιρετικής ποιότητας πόρους εκμάθησης.
❇️ Αυτό Μάθημα Udemy είναι ένας καλός τρόπος για να μάθετε πώς να δημιουργείτε API εταιρικής ποιότητας στο Flask. Καλύπτει εργαλεία όπως το Flask-SQLALchemy και το Flask-Smorest.
συμπέρασμα
Αυτό το άρθρο ήταν μια σύντομη εισαγωγή στο Python Flask. Καλύψαμε τι είναι, το συγκρίναμε με άλλα πλαίσια web και δημιουργήσαμε μια απλή εφαρμογή. Τέλος, συνέδεσα πόρους για περαιτέρω μάθηση.
Στη συνέχεια, ελέγξτε πώς να ασφαλίσετε ένα Flask REST API με ένα διακριτικό ιστού JSON.