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

Χρήση PostgreSQL με Django σε Ubuntu 21.04 Server

Χρήση PostgreSQL με Django σε Ubuntu 21.04 Server

Django είναι ένα γνωστό web framework που απλοποιεί τη διαδικασία δημιουργίας ισχυρών, επεκτάσιμων, ασφαλών και υψηλής απόδοσης εφαρμογών ιστού. Είναι ένα έργο ανοιχτού κώδικα γραμμένο σε Python. Μπορείτε να δείτε περισσότερες λεπτομερείς πληροφορίες για το Django εδώ.

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

Σε αυτόν τον οδηγό, θα παρουσιάσουμε την ενσωμάτωση της PostgreSQL ως backend σε μια δοκιμαστική εφαρμογή Django.

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

Η εργασία με το Django απαιτεί ορισμένες ρυθμίσεις συστήματος.

Αυτός ο οδηγός θα παρουσιάσει επίσης πώς να χρησιμοποιήσετε διάφορα modules και βιβλιοθήκες της Python που είναι απαραίτητα για μια λειτουργική εφαρμογή Django.

Βήμα 1. Εγκατάσταση των απαραίτητων στοιχείων

Για να λειτουργήσει το έργο μας, χρειαζόμαστε μια σειρά από σημαντικά πακέτα εγκατεστημένα στο σύστημα Ubuntu μας. Ευτυχώς, όλα είναι άμεσα διαθέσιμα από τα επίσημα αποθετήρια πακέτων του Ubuntu. Αυτά τα πακέτα περιλαμβάνουν στοιχεία Python και στοιχεία βάσης δεδομένων (PostgreSQL).

Αρχικά, εκκινήστε το τερματικό και ενημερώστε την προσωρινή μνήμη πακέτων APT:

Using PostgreSQL with Django 1

Στη συνέχεια, εγκαταστήστε τα πακέτα:

Using PostgreSQL with Django 2

Βήμα 2. Προετοιμασία της βάσης δεδομένων

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

Κατά την εγκατάσταση, η PostgreSQL δημιουργεί έναν αποκλειστικό χρήστη postgres. Έχει την άδεια να εκτελεί οποιαδήποτε διαχειριστική εργασία στην PostgreSQL. Αποκτήστε πρόσβαση στον postgres λογαριασμό:

Θα πρέπει να μεταφερθείτε σε μια νέα συνεδρία κελύφους υπό τον χρήστη postgres. Στη συνέχεια, ανοίξτε ένα κέλυφος PostgreSQL:

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

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

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

Ας δούμε μια γρήγορη ανάλυση αυτών των εντολών:

  • Ορίζουμε την προεπιλεγμένη κωδικοποίηση σε UTF-8. Αυτό είναι που αναμένει το Django κατά την αλληλεπίδραση με βάσεις δεδομένων.

  • Το προεπιλεγμένο σχήμα συναλλαγών έχει οριστεί σε “read committed”, έτσι ώστε να αποκλείονται οι αναγνώσεις από μη ολοκληρωμένες συναλλαγές.

  • Η ζώνη ώρας θα πρέπει να οριστεί σύμφωνα με την τοποθεσία.

Εάν δεν είστε σίγουροι για το όνομα της ζώνης ώρας, η ακόλουθη εντολή θα εμφανίσει όλες τις ζώνες ώρας που υποστηρίζονται από την PostgreSQL:

Using PostgreSQL with Django 4

Τέλος, παραχωρήστε στον νέο χρήστη πλήρη δικαιώματα στη βάση δεδομένων που προορίζεται για το Django:

Η εργασία μας με την PostgreSQL έχει πλέον ολοκληρωθεί. Εξέλθετε από το psql κέλυφος και αποσυνδεθείτε από τη postgres συνεδρία.

Βήμα 3. Εγκατάσταση του Django

Έχουμε ρυθμίσει τον απαραίτητο διακομιστή βάσης δεδομένων για την εφαρμογή Django μας. Τώρα, θα εγκαταστήσουμε και θα ρυθμίσουμε την αποκλειστική εφαρμογή Django. Παρόλο που το Django είναι άμεσα διαθέσιμο από το επίσημο αποθετήριο του Ubuntu, δεν συνιστούμε τη χρήση αυτής της μεθόδου. Θα εγκαταστήσει το Django σε όλο το σύστημα. Για καλύτερη ευελιξία και ευκολία διαχείρισης, θα εγκαταστήσουμε το Django σε ένα εικονικό περιβάλλον. Είναι μια τυπική πρακτική η εγκατάσταση και η ρύθμιση του Django μέσα σε ένα εικονικό περιβάλλον Python.

Η Python διαθέτει μια ενότητα virtualenv που δημιουργεί ένα εικονικό περιβάλλον Python σε μια τοποθεσία προορισμού. Το περιβάλλον λαμβάνει το δικό του αντίγραφο των εκτελέσιμων αρχείων και των ρυθμίσεων της Python. Οι αλλαγές που γίνονται εντός του εικονικού περιβάλλοντος δεν θα έχουν καμία επίδραση στο υπόλοιπο σύστημα.

Εγκαταστήστε το virtualenv:

Using PostgreSQL with Django 5

Στη συνέχεια, ο στόχος μας είναι να έχουμε έναν αποκλειστικό κατάλογο για τη δημιουργία του εικονικού περιβάλλοντος Python. Θα χρησιμεύσει ως η βάση για την εφαρμογή Django μας. Για λόγους επίδειξης, το όνομα της εφαρμογής μας θα είναι sample_app. Δημιουργήστε έναν νέο κατάλογο:

Αλλάξτε τον τρέχοντα ενεργό κατάλογο και δημιουργήστε το εικονικό περιβάλλον:

Μετά από αυτό, ενεργοποιήστε το εικονικό περιβάλλον:

Το εικονικό περιβάλλον είναι τώρα έτοιμο και λειτουργικό. Στη συνέχεια, θα χρησιμοποιήσουμε το pip για να εγκαταστήσουμε το Django και το psycopg2 (έναν προσαρμογέα Python για την PostgreSQL):

Using PostgreSQL with Django 6

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

Βήμα 4. Ρύθμιση του Έργου Django

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

Ανοίξτε το αρχείο settings.py σε έναν επεξεργαστή κειμένου:

Κυλήστε προς τα κάτω στην ενότητα DATABASES. Από προεπιλογή, είναι ρυθμισμένη να χρησιμοποιεί το SQLite:

Για τον σκοπό μας, αλλάξτε τον κώδικα ως εξής:

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

Μόλις τελειώσετε, αποθηκεύστε το αρχείο και κλείστε τον επεξεργαστή.

Βήμα 5. Μετανάστευση της Βάσης Δεδομένων

Το Django έχει ρυθμιστεί ώστε να έχει πρόσβαση στη βάση δεδομένων PostgreSQL μας. Μπορούμε τώρα να μεταφέρουμε τη δομή των δεδομένων στη βάση δεδομένων μας. Στο Django, αυτό είναι γνωστό ως migration.

Για να μεταφέρετε τις αλλαγές στη βάση δεδομένων, καλέστε το σενάριο διαχείρισης manage.py:


Using PostgreSQL with Django 7

Στη συνέχεια, δημιουργήστε έναν superuser για την εφαρμογή Django μας:

Using PostgreSQL with Django 8

Αυτός ο λογαριασμός superuser θα λειτουργεί ως ο λογαριασμός διαχειριστή για την εφαρμογή Django μας.

Βήμα 6. Δοκιμή των Αλλαγών

Μέχρι στιγμής, έχουμε κάνει αρκετές τροποποιήσεις στην εφαρμογή Django μας. Ώρα να ελέγξουμε αν όλα λειτουργούν όπως αναμένεται. Θα το επαληθεύσουμε αυτό εκκινώντας την εφαρμογή και αποκτώντας πρόσβαση στον πίνακα διαχείρισης.

Καθώς αναπτύσσουμε τοπικά την εφαρμογή Django, θα ξεκινήσουμε τον διακομιστή στο localhost. Παραδοσιακά, θα τον εκκινήσουμε στη θύρα 8000. Εάν έχετε ρυθμίσει ένα τείχος προστασίας, τότε αυτό πρέπει να επιτρέπει την κίνηση στη θύρα 8000. Μάθετε περισσότερα σχετικά με τα βασικά του UFW εδώ.

Εκκινήστε τον διακομιστή Django:

Αποκτήστε πρόσβαση στη διεύθυνση URL σε ένα πρόγραμμα περιήγησης:

Using PostgreSQL with Django 9

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

Using PostgreSQL with Django 10

Πρέπει να χρησιμοποιήσετε τον superuser που δημιουργήσαμε για να συνδεθείτε:

Voila! Μεταφερθήκαμε με επιτυχία στον πίνακα διαχείρισης!

Μόλις ολοκληρώσετε την περιήγηση, πατήστε Ctrl + C από την κονσόλα για να σταματήσετε τον διακομιστή Django.

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

Σε αυτόν τον οδηγό, δείξαμε με επιτυχία τη δημιουργία μιας δοκιμαστικής εφαρμογής Django και τη ρύθμιση της PostgreSQL ως βάσης δεδομένων της. Ενώ η SQLite είναι γενικά υπεραρκετή για να καλύψει τις ανάγκες κατά τη διάρκεια της ανάπτυξης (και για ελαφριά χρήση σε παραγωγή), τα περισσότερα έργα θα επωφεληθούν σημαντικά από τη μετάβαση σε ένα DBMS με περισσότερες δυνατότητες. Η PostgreSQL είναι μια εξαιρετική επιλογή για απόδοση και επεκτασιμότητα.

Το Django είναι ένα ευέλικτο web framework που μπορεί να λειτουργήσει με πολυάριθμες τεχνολογίες. Ρίξτε μια ματιά σε περισσότερους οδηγούς cloud που δείχνουν τη χρήση του Django:

Καλή συνέχεια!

author

Preslav Dobrev

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

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

Σχόλια

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