Επιστροφή στο blog

Δημιουργία μιας εφαρμογής Django με σύνδεση βάσης δεδομένων: Ένας οδηγός

Δημιουργία μιας εφαρμογής Django με σύνδεση βάσης δεδομένων: Ένας οδηγός

Django είναι ένα δωρεάν και ανοικτού κώδικα web framework κατασκευασμένο σε Python. Κυκλοφόρησε για πρώτη φορά το 2005 και ενσωματώνει το σύνθημα «γρήγορη ανάπτυξη και καθαρός, πραγματιστικός σχεδιασμός». Το framework, που αναπτύσσεται σε έναν διακομιστή ιστού, μπορεί να παράγει γρήγορα ένα web front-end με πλούσια χαρακτηριστικά, ασφάλεια και επεκτασιμότητα.

Κάθε διαδικτυακή εφαρμογή βασίζεται σε βάσεις δεδομένων για το περιεχόμενό της. Το Django, όντας ένα σύγχρονο framework, υποστηρίζει μια σειρά από τυπικά προγράμματα βάσεων δεδομένων, για παράδειγμα, PostgreSQL, SQLite, MySQL, κ.λπ. Αυτός ο οδηγός θα δείξει πώς να συνδέσετε μια εφαρμογή Django σε μια βάση δεδομένων MySQL.

Προαπαιτούμενα

Για να παρακολουθήσετε αυτό το σεμινάριο, πρέπει να πληροίτε ορισμένες προϋποθέσεις πριν προχωρήσετε στο Django και τη σύνδεση της βάσης δεδομένων:

Εγκατάσταση και ρύθμιση της Python 3

Το Django είναι γραμμένο σε Python. Η εκτέλεση οποιασδήποτε εφαρμογής Python απαιτεί την εγκατάσταση των εκτελέσιμων αρχείων της Python στο σύστημα. Το Ubuntu συνοδεύεται από προεγκατεστημένη την Python. Εδώ, θα χρησιμοποιήσουμε την Python 3. Από το τερματικό, εκτελέστε τις ακόλουθες εντολές. Αρχικά, ενημερώστε την προσωρινή μνήμη APT και αναβαθμίστε (εάν είναι διαθέσιμα) όλα τα εγκατεστημένα πακέτα:

Η Python 3 είναι άμεσα διαθέσιμη από τους επίσημους διακομιστές πακέτων του Ubuntu. Το πακέτο python-is-python3 δημιουργεί έναν python δυαδικό συμβολικό σύνδεσμο (soft link) προς το python3 για ευκολία στη χρήση:

Στη συνέχεια, επαληθεύστε εάν η εγκατάσταση ήταν επιτυχής:

Μετά από αυτό, χρειαζόμαστε το pip. Είναι ο τυπικός διαχειριστής πακέτων της Python. Είναι υπεύθυνος για τη διαχείριση πρόσθετων βιβλιοθηκών Python που δεν αποτελούν μέρος της τυπικής βιβλιοθήκης. Σημειώστε ότι εγκαθιστούμε το pip3 (για την Python 3):

Τέλος, χρειαζόμαστε μερικά επιπλέον πακέτα για ένα ισχυρό περιβάλλον προγραμματισμού:

Εγκατάσταση και ρύθμιση της MySQL

Αυτή η ενότητα θα δείξει εν συντομία την εγκατάσταση και τη ρύθμιση της MySQL. Είναι διαθέσιμη από τα προεπιλεγμένα αποθετήρια πακέτων του Ubuntu:

Εάν η εγκατάσταση ήταν επιτυχής, τότε η MySQL θα αρχίσει να εκτελείται στο παρασκήνιο. Επαληθεύστε εάν λειτουργεί σωστά:

Django App 1

Ο διακομιστής MySQL είναι σε λειτουργία. Μπορούμε τώρα να μεταβούμε με ασφάλεια στην ανάπτυξη της εφαρμογής μας Django.

Εργασία με το Django

  • Δημιουργία της δείγματος εφαρμογής Django

Η προετοιμασία της διαδικτυακής μας εφαρμογής απαιτεί τον σκελετό του έργου Django. Περιέχει όλα τα απαραίτητα εργαλεία και βιβλιοθήκες που απαιτούνται για τη δημιουργία μιας ισχυρής διαδικτυακής εφαρμογής. Αρχικά, θα δημιουργήσουμε έναν αποκλειστικό κατάλογο για την εφαρμογή μας Django. Συνιστάται να ονομάσετε τον κατάλογο με κάτι ουσιαστικό και συνεπές με την εφαρμογή που πρόκειται να κατασκευάσουμε. Σε αυτήν την παρουσίαση, θα τον ονομάσουμε myDemoApp:

Χρειαζόμαστε τη μονάδα (module) της Python venv για να δημιουργήσουμε ένα εικονικό περιβάλλον μέσα στον κατάλογο. Εγκαταστήστε τη μονάδα χρησιμοποιώντας το APT:

Στη συνέχεια, μεταβείτε στον κατάλογο και δημιουργήστε ένα εικονικό περιβάλλον. Για σαφήνεια, ονομάσαμε το περιβάλλον demoapp_env:

Στη συνέχεια, ενεργοποιήστε το εικονικό περιβάλλον εκτελώντας το activate σενάριο:

Django App 2

Τώρα θα εγκαταστήσουμε το Django μέσα σε αυτό το αποκλειστικό εικονικό περιβάλλον. Pip θα κατεβάσει και θα εγκαταστήσει ορισμένα πρόσθετα στοιχεία:

Το Django είναι εγκατεστημένο και έτοιμο προς χρήση. Καλέστε την εντολή django-admin για να δημιουργήσετε ένα νέο έργο Django. Μετά από αυτό, δώστε στην εφαρμογή ένα κατάλληλο όνομα:

Θα δημιουργήσει ένα δοκιμαστικό έργο (demo project) με τα απαραίτητα αρχεία και καταλόγους έργου στη θέση τους:

Django App 3

Ο σκελετός του έργου είναι έτοιμος. Στη συνέχεια, πρέπει να τον διαμορφώσουμε κατάλληλα για να επιτύχουμε τον στόχο μας.

  • Επεξεργασία ρυθμίσεων του έργου Django

Όλες οι ρυθμίσεις του έργου αποθηκεύονται στο αρχείο settings.py. Βρίσκεται μέσα στον κατάλογο του έργου Django. Θα ξεκινήσουμε ορίζοντας μια κατάλληλη ζώνη ώρας και θα καταγράψουμε τους κεντρικούς υπολογιστές (hosts) που μπορούν να συνδεθούν στην εφαρμογή Django. Ανοίξτε το αρχείο ρυθμίσεων σε έναν επεξεργαστή κειμένου:

Κυλήστε προς τα κάτω στο σενάριο κώδικα και βρείτε την καταχώριση TIME_ZONE. Για επίδειξη, η ζώνη ώρας έχει οριστεί σε America/New_York:

TIME_ZONE

Για αναφορά, η ακόλουθη εντολή θα εκτυπώσει όλες τις υποστηριζόμενες ζώνες ώρας στο Linux:

Στη συνέχεια, κυλήστε στην καταχώριση ALLOWED_HOSTS. Ελέγχει ποιοι υπολογιστές μπορούν να έχουν πρόσβαση στην εφαρμογή. Για επίδειξη, περιέχει μόνο το localhost:

Django App 4Στη συνέχεια, αποθηκεύστε το αρχείο και κλείστε τον επεξεργαστή. Η επόμενη εντολή θα εφαρμόσει τις αλλαγές:

python manageΤώρα, πρέπει να δημιουργήσουμε έναν λογαριασμό διαχειριστή (admin) για την εφαρμογή ιστού. Αυτός ο λογαριασμός θα χρησιμοποιηθεί για την πρόσβαση στη διεπαφή διαχειριστή του Django. Εκτελέστε την ακόλουθη εντολή:

Django App 5Θα ζητήσει όνομα χρήστη, email και κωδικό πρόσβασης. Η εφαρμογή είναι πλέον έτοιμη να συνδεθεί στη βάση δεδομένων.

Σύνδεση MySQL

  • Εγκατάσταση συνδέσμων MySQL και βιβλιοθηκών ανάπτυξης

Για να ενσωματώσουμε τη MySQL στην εφαρμογή Django, χρειαζόμαστε μερικές επιπλέον βιβλιοθήκες Python 3 που θα παρέχουν τα απαραίτητα εργαλεία. Θα χρησιμοποιήσουμε τον σύνδεσμο βάσης δεδομένων mysqlclient. Είναι μια διακλάδωση (fork) του MySQLdb.

Βεβαιωθείτε ότι έχουμε python3-dev εγκατεστημένο:

Χρειαζόμαστε επίσης μερικές επιπλέον κεφαλίδες (headers) και βιβλιοθήκες Python και MySQL:

Μετά την ολοκλήρωση της εγκατάστασης, χρησιμοποιήστε το pip για να εγκαταστήσετε το πρόσθετο (module) Python mysqlclient. Ενδέχεται να δημιουργήσει κάποια μηνύματα σφάλματος που μπορούν να αγνοηθούν:

  • Διαμόρφωση αποκλειστικής βάσης δεδομένων

Το επόμενο βήμα είναι η διαμόρφωση μιας αποκλειστικής βάσης δεδομένων και ενός χρήστη βάσης δεδομένων για την εφαρμογή Django μας. Εκκινήστε το κέλυφος (shell) της MySQL ως χρήστης root:

Για να ελέγξετε όλες τις τρέχουσες διαθέσιμες βάσεις δεδομένων, εκτελέστε το ακόλουθο ερώτημα:

Ας δημιουργήσουμε μια αποκλειστική βάση δεδομένων για την εφαρμογή Django μας. Δώστε της ένα κατάλληλο όνομα που να είναι συνεπές με το όνομα του έργου:

Στη συνέχεια, επαληθεύστε τη δημιουργία:

Django App 6Τώρα, δημιουργήστε έναν αποκλειστικό χρήστη MySQL. Θα διαμορφώσουμε αυτόν τον χρήστη ως ιδιοκτήτη της βάσης δεδομένων. Η εφαρμογή Django θα χρησιμοποιεί τα διαπιστευτήρια αυτού του χρήστη για να λειτουργεί με τη βάση δεδομένων MySQL:

Δώστε στον χρήστη demoapp_user πλήρη δικαιώματα στη βάση δεδομένων demoapp_data:

Για να τεθούν σε ισχύ οι αλλαγές δικαιωμάτων, επαναφορτώστε τους MySQL grant tables:

Django App 7Η βάση δεδομένων είναι πλέον έτοιμη να συνδεθεί με την εφαρμογή Django.

  • Σύνδεση της βάσης δεδομένων στην εφαρμογή Django

Τέλος, θα διαμορφώσουμε την εφαρμογή Django ώστε να χρησιμοποιεί τη βάση δεδομένων για την αποθήκευση δεδομένων. Ανοίξτε το σενάριο ρυθμίσεων settings.py:

Κυλήστε προς τα κάτω στην καταχώριση DATABASES και εισαγάγετε τον ακόλουθο κώδικα:

Django App 8Αποθηκεύστε το αρχείο και κλείστε τον επεξεργαστή. Το επόμενο βήμα είναι να ορίσετε το αρχείο ρυθμίσεων που περιγράφηκε στον κώδικα προηγουμένως. Χρησιμοποιήστε το sudo για να ανοίξετε το αρχείο κειμένου στην περιγραφόμενη τοποθεσία:

Αυτό το αρχείο ρυθμίσεων θα περιέχει πληροφορίες σχετικά με τη βάση δεδομένων που είναι αποκλειστική για το Django και τον χρήστη που δημιουργήσαμε στον διακομιστή MySQL. Προσθέστε τις ακόλουθες γραμμές στο τέλος του αρχείου:

default-character-setΓια να εφαρμοστούν οι αλλαγές, πρέπει να επανεκκινήσουμε τον διακομιστή MySQL:

  • Δοκιμή της σύνδεσης MySQL

Τώρα είναι η ώρα να επαληθεύσετε εάν η σύνδεση MySQL λειτουργεί σωστά. Εάν ο διακομιστής Django εκτελείται χωρίς πρόβλημα, τότε η σύνδεση λειτουργεί καλά. Διαφορετικά, υπάρχει κάποιο πρόβλημα. Αρχικά, εφαρμόστε όλες τις αλλαγές που έγιναν στο έργο Django:

python manageΤώρα, μεταβείτε στον ακόλουθο κατάλογο του έργου και εκκινήστε τον διακομιστή Django:

python manage.py runserverΣτη συνέχεια, προσπαθήστε να αποκτήσετε πρόσβαση στον διακομιστή από ένα πρόγραμμα περιήγησης ιστού:

server_ip_address

Voila! Φτάσαμε με επιτυχία στη σελίδα επιτυχίας του Django. Αυτό επιβεβαιώνει επίσης ότι η σύνδεση MySQL λειτουργεί σωστά. Αφού ολοκληρωθεί η εργασία, μπορείτε να εξέλθετε με ασφάλεια από το εικονικό περιβάλλον:

Τελικές Σκέψεις

Σε αυτόν τον οδηγό, μάθατε τα βασικά του συνδυασμού του Django και της MySQL μαζί. Δημιουργήσαμε μια εφαρμογή Django και δείξαμε πώς να τη συνδέσετε με μια βάση δεδομένων MySQL. Η μαγεία βρίσκεται μέσα στο αρχείο ρυθμίσεων του Django settings.py. Τροποποιήσαμε επίσης ορισμένες βασικές ρυθμίσεις όπως ALLOWED_HOSTS και TIME_ZONE. Το Django είναι απίστευτα ευέλικτο. Εκτός από τη MySQL, υποστηρίζει επίσης άλλους διακομιστές SQL όπως η PostgreSQL, μηχανές διακομιστή όπως το Nginx, κ.λπ.

Μπορείτε επίσης να δείτε τους οδηγούς μας σχετικά με τις βέλτιστες πρακτικές για την εγκατάσταση, τη ρύθμιση παραμέτρων και την εργασία με το Django:

Καλή Υπολογιστική!

author

Hark Labs

Συγγραφέας · CloudSigma

Ο Preslav Dobrev είναι Δημιουργικός Σχεδιαστής στην CloudSigma, με εστίαση στη συνεπή επιχειρηματική ταυτότητα μέσω παραδοσιακών και καινοτόμων καναλιών μάρκετινγκ. Διαθέτει την ικανότητα να συνδυάζει το καλλιτεχνικό όραμα με το στρατηγικό μάρκετινγκ για τη δημιουργία εντυπωσιακών αφηγήσεων επωνυμίας.

Σχόλια

Δεν υπάρχουν σχόλια ακόμα. Γράψτε το πρώτο.