Django είναι ένα γνωστό web framework που απλοποιεί τη διαδικασία δημιουργίας ισχυρών, επεκτάσιμων, ασφαλών και υψηλής απόδοσης εφαρμογών ιστού. Είναι ένα έργο ανοιχτού κώδικα γραμμένο σε Python. Μπορείτε να δείτε περισσότερες λεπτομερείς πληροφορίες για το Django εδώ.
Κάθε εφαρμογή ιστού απαιτεί μια βάση δεδομένων ως backend για τη διαχείριση δεδομένων. Το Django υποστηρίζει διάφορες μηχανές βάσεων δεδομένων ως backend, για παράδειγμα, MySQL, PostgreSQL, SQLite κ.λπ. Η PostgreSQL είναι ένα ισχυρό, ανοιχτού κώδικα αντικειμενοστρεφές-σχεσιακό σύστημα βάσεων δεδομένων. Είναι διάσημη για την αξιοπιστία, την επεκτασιμότητα, την ασφάλεια και το ισχυρό σύνολο δυνατοτήτων της. Μπορείτε να μάθετε περισσότερα για την PostgreSQL εδώ.
Σε αυτόν τον οδηγό, θα παρουσιάσουμε την ενσωμάτωση της PostgreSQL ως backend σε μια δοκιμαστική εφαρμογή Django.
Προαπαιτούμενα
Η εργασία με το Django απαιτεί ορισμένες ρυθμίσεις συστήματος.
- Ένας σωστά ρυθμισμένος Ubuntu 21.04 διακομιστής. Μάθετε περισσότερα για τη ρύθμιση ενός διακομιστή Ubuntu.
- Ένα περιβάλλον ανάπτυξης Python. Το Django είναι γραμμένο σε Python, επομένως απαιτεί το περιβάλλον Python για να εκτελεστεί.
- Εγκατεστημένη PostgreSQL, καθώς πρόκειται να τη χρησιμοποιήσουμε ως διακομιστή βάσης δεδομένων για την εφαρμογή Django μας. Μάθετε περισσότερα για την εγκατάσταση και ρύθμιση της PostgreSQL στο Ubuntu εδώ.
Αυτός ο οδηγός θα παρουσιάσει επίσης πώς να χρησιμοποιήσετε διάφορα modules και βιβλιοθήκες της Python που είναι απαραίτητα για μια λειτουργική εφαρμογή Django.
Βήμα 1. Εγκατάσταση των απαραίτητων στοιχείων
Για να λειτουργήσει το έργο μας, χρειαζόμαστε μια σειρά από σημαντικά πακέτα εγκατεστημένα στο σύστημα Ubuntu μας. Ευτυχώς, όλα είναι άμεσα διαθέσιμα από τα επίσημα αποθετήρια πακέτων του Ubuntu. Αυτά τα πακέτα περιλαμβάνουν στοιχεία Python και στοιχεία βάσης δεδομένων (PostgreSQL).
Αρχικά, εκκινήστε το τερματικό και ενημερώστε την προσωρινή μνήμη πακέτων APT:
|
1 |
sudo apt update |
Στη συνέχεια, εγκαταστήστε τα πακέτα:
|
1 |
sudo apt install python3-pip python3-dev libpq-dev postgresql postgresql-contrib |
Βήμα 2. Προετοιμασία της βάσης δεδομένων
Η PostgreSQL είναι πλέον εγκατεστημένη και έτοιμη για χρήση. Στη συνέχεια, θα δημιουργήσουμε μια αποκλειστική βάση δεδομένων και έναν χρήστη για την εφαρμογή Django μας. Η ύπαρξη ενός αποκλειστικού χρήστη είναι επωφελής για τη διαχείριση της βάσης δεδομένων και των δικαιωμάτων.
Κατά την εγκατάσταση, η PostgreSQL δημιουργεί έναν αποκλειστικό χρήστη postgres. Έχει την άδεια να εκτελεί οποιαδήποτε διαχειριστική εργασία στην PostgreSQL. Αποκτήστε πρόσβαση στον postgres λογαριασμό:
|
1 |
sudo su – postgres |
Θα πρέπει να μεταφερθείτε σε μια νέα συνεδρία κελύφους υπό τον χρήστη postgres. Στη συνέχεια, ανοίξτε ένα κέλυφος PostgreSQL:
|
1 |
psql |
Τώρα θα δημιουργήσουμε μια αποκλειστική βάση δεδομένων για την εφαρμογή Django μας. Συνιστάται να της δώσετε ένα όνομα που να ταιριάζει με την εφαρμογή Django:
|
1 |
CREATE DATABASE <database_name>; |
Στη συνέχεια, θα δημιουργήσουμε έναν αποκλειστικό χρήστη βάσης δεδομένων. Θα χρησιμοποιήσουμε αυτόν τον χρήστη για να αποκτήσουμε πρόσβαση στη βάση δεδομένων που είναι αποκλειστική για το Django:
|
1 |
CREATE USER <username> WITH PASSWORD '<password>'; |
Το επόμενο βήμα είναι να τροποποιήσουμε μερικές παραμέτρους σύνδεσης για τον νέο χρήστη. Αυτό βοηθά στην επιτάχυνση των λειτουργιών της βάσης δεδομένων, καθώς δεν θα απαιτείται η αναζήτηση των τιμών κάθε φορά που δημιουργείται μια σύνδεση. Εκτελέστε τις ακόλουθες εντολές:
|
1 2 3 |
ALTER ROLE <username> SET client_encoding TO 'utf8'; ALTER ROLE <username> SET default_transaction_isolation TO 'read committed'; ALTER ROLE <username> SET timezone TO '<timezone>'; |
Ας δούμε μια γρήγορη ανάλυση αυτών των εντολών:
-
Ορίζουμε την προεπιλεγμένη κωδικοποίηση σε UTF-8. Αυτό είναι που αναμένει το Django κατά την αλληλεπίδραση με βάσεις δεδομένων.
-
Το προεπιλεγμένο σχήμα συναλλαγών έχει οριστεί σε “read committed”, έτσι ώστε να αποκλείονται οι αναγνώσεις από μη ολοκληρωμένες συναλλαγές.
-
Η ζώνη ώρας θα πρέπει να οριστεί σύμφωνα με την τοποθεσία.
Εάν δεν είστε σίγουροι για το όνομα της ζώνης ώρας, η ακόλουθη εντολή θα εμφανίσει όλες τις ζώνες ώρας που υποστηρίζονται από την PostgreSQL:
|
1 |
SELECT * FROM pg_timezone_names; |
Τέλος, παραχωρήστε στον νέο χρήστη πλήρη δικαιώματα στη βάση δεδομένων που προορίζεται για το Django:
|
1 |
GRANT ALL PRIVILEGES ON DATABASE <database_name> TO <username>; |
Η εργασία μας με την PostgreSQL έχει πλέον ολοκληρωθεί. Εξέλθετε από το psql κέλυφος και αποσυνδεθείτε από τη postgres συνεδρία.
Βήμα 3. Εγκατάσταση του Django
Έχουμε ρυθμίσει τον απαραίτητο διακομιστή βάσης δεδομένων για την εφαρμογή Django μας. Τώρα, θα εγκαταστήσουμε και θα ρυθμίσουμε την αποκλειστική εφαρμογή Django. Παρόλο που το Django είναι άμεσα διαθέσιμο από το επίσημο αποθετήριο του Ubuntu, δεν συνιστούμε τη χρήση αυτής της μεθόδου. Θα εγκαταστήσει το Django σε όλο το σύστημα. Για καλύτερη ευελιξία και ευκολία διαχείρισης, θα εγκαταστήσουμε το Django σε ένα εικονικό περιβάλλον. Είναι μια τυπική πρακτική η εγκατάσταση και η ρύθμιση του Django μέσα σε ένα εικονικό περιβάλλον Python.
Η Python διαθέτει μια ενότητα virtualenv που δημιουργεί ένα εικονικό περιβάλλον Python σε μια τοποθεσία προορισμού. Το περιβάλλον λαμβάνει το δικό του αντίγραφο των εκτελέσιμων αρχείων και των ρυθμίσεων της Python. Οι αλλαγές που γίνονται εντός του εικονικού περιβάλλοντος δεν θα έχουν καμία επίδραση στο υπόλοιπο σύστημα.
Εγκαταστήστε το virtualenv:
|
1 |
sudo apt install virtualenv |
Στη συνέχεια, ο στόχος μας είναι να έχουμε έναν αποκλειστικό κατάλογο για τη δημιουργία του εικονικού περιβάλλοντος Python. Θα χρησιμεύσει ως η βάση για την εφαρμογή Django μας. Για λόγους επίδειξης, το όνομα της εφαρμογής μας θα είναι sample_app. Δημιουργήστε έναν νέο κατάλογο:
|
1 |
mkdir -pv <dir_name> |
Αλλάξτε τον τρέχοντα ενεργό κατάλογο και δημιουργήστε το εικονικό περιβάλλον:
|
1 2 |
cd sample_app/ virtualenv sample_app_env |
Μετά από αυτό, ενεργοποιήστε το εικονικό περιβάλλον:
|
1 |
source sample_app_env/bin/activate |
Το εικονικό περιβάλλον είναι τώρα έτοιμο και λειτουργικό. Στη συνέχεια, θα χρησιμοποιήσουμε το pip για να εγκαταστήσουμε το Django και το psycopg2 (έναν προσαρμογέα Python για την PostgreSQL):
|
1 |
pip install django psycopg2 |
Τέλος, μπορούμε να δημιουργήσουμε ένα νέο έργο Django χρησιμοποιώντας τα εργαλεία του Django. Αυτό θα δημιουργήσει έναν υποκατάλογο με το ίδιο όνομα που θα φιλοξενεί όλο τον κώδικα και ένα σενάριο διαχείρισης στον τρέχοντα κατάλογο:
|
1 |
django-admin startproject <project_name> . |
Βήμα 4. Ρύθμιση του Έργου Django
Το έργο Django διαθέτει όλα τα βασικά εργαλεία για να λειτουργήσει ως εφαρμογή ιστού. Για να το ενσωματώσουμε στη βάση δεδομένων μας, θα χρειαστεί να κάνουμε μερικές τροποποιήσεις στα αρχεία ρυθμίσεών του.
Ανοίξτε το αρχείο settings.py σε έναν επεξεργαστή κειμένου:
|
1 |
nano settings.py |
Κυλήστε προς τα κάτω στην ενότητα DATABASES. Από προεπιλογή, είναι ρυθμισμένη να χρησιμοποιεί το SQLite:
Για τον σκοπό μας, αλλάξτε τον κώδικα ως εξής:
|
1 2 3 4 5 6 7 8 9 10 |
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'NAME': '<db_name>', 'USER': '<db_user>', 'PASSWORD': '<db_user_password>', 'HOST': 'localhost', 'PORT': '', } } |
Εδώ, λέμε στο Django να χρησιμοποιήσει τον προσαρμογέα psycopg2 για την επικοινωνία με τη βάση δεδομένων. Δηλώνουμε επίσης όλες τις απαραίτητες πληροφορίες της βάσης δεδομένων, όπως το όνομα της βάσης δεδομένων μαζί με το όνομα χρήστη και τον κωδικό πρόσβασης του αποκλειστικού χρήστη.
Μόλις τελειώσετε, αποθηκεύστε το αρχείο και κλείστε τον επεξεργαστή.
Βήμα 5. Μετανάστευση της Βάσης Δεδομένων
Το Django έχει ρυθμιστεί ώστε να έχει πρόσβαση στη βάση δεδομένων PostgreSQL μας. Μπορούμε τώρα να μεταφέρουμε τη δομή των δεδομένων στη βάση δεδομένων μας. Στο Django, αυτό είναι γνωστό ως migration.
Για να μεταφέρετε τις αλλαγές στη βάση δεδομένων, καλέστε το σενάριο διαχείρισης manage.py:
|
1 |
python manage.py makemigrations |

|
1 |
python manage.py migrate |
Στη συνέχεια, δημιουργήστε έναν superuser για την εφαρμογή Django μας:
|
1 |
python manage.py createsuperuser |
Αυτός ο λογαριασμός superuser θα λειτουργεί ως ο λογαριασμός διαχειριστή για την εφαρμογή Django μας.
Βήμα 6. Δοκιμή των Αλλαγών
Μέχρι στιγμής, έχουμε κάνει αρκετές τροποποιήσεις στην εφαρμογή Django μας. Ώρα να ελέγξουμε αν όλα λειτουργούν όπως αναμένεται. Θα το επαληθεύσουμε αυτό εκκινώντας την εφαρμογή και αποκτώντας πρόσβαση στον πίνακα διαχείρισης.
Καθώς αναπτύσσουμε τοπικά την εφαρμογή Django, θα ξεκινήσουμε τον διακομιστή στο localhost. Παραδοσιακά, θα τον εκκινήσουμε στη θύρα 8000. Εάν έχετε ρυθμίσει ένα τείχος προστασίας, τότε αυτό πρέπει να επιτρέπει την κίνηση στη θύρα 8000. Μάθετε περισσότερα σχετικά με τα βασικά του UFW εδώ.
Εκκινήστε τον διακομιστή Django:
|
1 |
python manage.py runserver localhost:8000 |
Αποκτήστε πρόσβαση στη διεύθυνση URL σε ένα πρόγραμμα περιήγησης:
|
1 |
http://localhost:8000 |
Θα πρέπει να μεταφερθείτε στη σελίδα επιτυχούς εγκατάστασης του Django. Για να αποκτήσετε πρόσβαση στη σελίδα διαχείρισης του Django, μεταβείτε στην ακόλουθη διεύθυνση URL:
|
1 |
http://localhost:8000/admin |
Πρέπει να χρησιμοποιήσετε τον superuser που δημιουργήσαμε για να συνδεθείτε:
Voila! Μεταφερθήκαμε με επιτυχία στον πίνακα διαχείρισης!
Μόλις ολοκληρώσετε την περιήγηση, πατήστε Ctrl + C από την κονσόλα για να σταματήσετε τον διακομιστή Django.
Τελικές Σκέψεις
Σε αυτόν τον οδηγό, δείξαμε με επιτυχία τη δημιουργία μιας δοκιμαστικής εφαρμογής Django και τη ρύθμιση της PostgreSQL ως βάσης δεδομένων της. Ενώ η SQLite είναι γενικά υπεραρκετή για να καλύψει τις ανάγκες κατά τη διάρκεια της ανάπτυξης (και για ελαφριά χρήση σε παραγωγή), τα περισσότερα έργα θα επωφεληθούν σημαντικά από τη μετάβαση σε ένα DBMS με περισσότερες δυνατότητες. Η PostgreSQL είναι μια εξαιρετική επιλογή για απόδοση και επεκτασιμότητα.
Το Django είναι ένα ευέλικτο web framework που μπορεί να λειτουργήσει με πολυάριθμες τεχνολογίες. Ρίξτε μια ματιά σε περισσότερους οδηγούς cloud που δείχνουν τη χρήση του Django:
- Ρύθμιση του Django με PostgreSQL, Nginx και Gunicorn στο Ubuntu 20.04
- Δημιουργία μιας εφαρμογής Django και Gunicorn με Docker στο Ubuntu
- Πώς να Ασφαλίσετε και να Επεκτείνετε μια Εφαρμογή Django με Docker, Nginx και Let’s Encrypt
- Δημιουργία μιας Εφαρμογής Django με Σύνδεση Βάσης Δεδομένων: Ένας Οδηγός
Καλή συνέχεια!






















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