Εκμάθηση Django: Χαρακτηριστικά, Archiδομή & Ιστορία
⚡ Έξυπνη Σύνοψη
Το Django είναι ένα δωρεάν, ανοιχτού κώδικα πρόγραμμα Python Ένα διαδικτυακό πλαίσιο που βασίζεται στο μοτίβο μοντέλο-προβολή-πρότυπο, επιτρέποντας την ταχεία ανάπτυξη ασφαλών, επεκτάσιμων, βασισμένων σε βάσεις δεδομένων ιστότοπων μέσω επαναχρησιμοποιήσιμων στοιχείων, μιας αυτόματης διεπαφής διαχείρισης και σχεδιασμού που περιλαμβάνει μπαταρίες.

Το Django τροφοδοτεί μερικούς από τους μεγαλύτερους ιστότοπους στο διαδίκτυο, διατηρώντας παράλληλα...ping καθημερινή ανάπτυξη γρήγορη και οργανωμένη. Πριν εξερευνήσουμε τα χαρακτηριστικά, την αρχιτεκτονική και την ιστορία του, οι παρακάτω ενότητες ξεκινούν με τα βασικά των web frameworks και τι κάνει το Django να ξεχωρίζει.
Σύνοψη φροντιστηρίου Django
Αυτό το σεμινάριο για το Django καλύπτει όλα τα βασικά θέματα από την αρχή. Σε αυτό το σεμινάριο, θα μάθετε έννοιες όπως τι είναι το Django, η ιστορία του, τα χαρακτηριστικά του, τα χαρακτηριστικά του framework του Django, τα στοιχεία του Django, τα πλεονεκτήματα και τα μειονεκτήματά του και πολλά άλλα.
Πριν μάθουμε το Django, ας καταλάβουμε:
Τι είναι ένα Web Framework;
Ένα web framework είναι μια βιβλιοθήκη κώδικα που σας βοηθά να δημιουργήσετε έναν ευέλικτο, επεκτάσιμο και συντηρήσιμο δυναμικό ιστότοπο, εφαρμογή ιστού ή υπηρεσία ιστού. Διαφορετικά web frameworks περιλαμβάνουν το Zend για PHP, Ruby on Rails για τη Ρούμπι και άλλους.
Τι είναι το Django;
Django είναι ένα πλαίσιο ανάπτυξης ιστού για Python το οποίο προσφέρει τυπικές μεθόδους για γρήγορη και αποτελεσματική ανάπτυξη ιστοσελίδων. Ο πρωταρχικός στόχος αυτού του πλαισίου ιστού υψηλού επιπέδου είναι η δημιουργία σύνθετων ιστοσελίδων που βασίζονται σε βάσεις δεδομένων. Σας βοηθά να δημιουργείτε και να διατηρείτε ποιοτικές εφαρμογές ιστού. Σας επιτρέπει να κάνετε τη διαδικασία ανάπτυξης ομαλή και να εξοικονομείτε χρόνο για ταχεία ανάπτυξη.
Γιατί Django; Βασικά πλεονεκτήματα του Django
Εδώ είναι τα κύρια πλεονεκτήματα του Django:
- Το Django είναι εύκολο στην εγκατάσταση και την εκτέλεση. Προσφέρει μια ποικιλία επιλογών για να ξεκινήσετε.
- Παρέχει ένα έτοιμο προς χρήση περιβάλλον εργασίας χρήστη για διοικητικές δραστηριότητες.
- Επιτρέπει τη δημιουργία πολύγλωσσων ιστοσελίδων χρησιμοποιώντας το ενσωματωμένο σύστημα διεθνοποίησης.
- Σας βοηθά να ανταποκριθείτε γρήγορα στις μαζικές απαιτήσεις κυκλοφορίας.
- Το Django χρησιμοποιείται για την κατασκευή όλων των τύπων συστημάτων διαχείρισης περιεχομένου, κοινωνικών δικτύων, καθώς και πλατφορμών επιστημονικής πληροφορικής.
- Το Django σας βοηθά να παρέχετε ολοκληρωμένες δοκιμές εφαρμογών.
- Σας βοηθά να τεκμηριώσετε το API σας με μια έξοδο HTML.
- Το πλαίσιο REST έχει πλούσια υποστήριξη για πολλά πρωτόκολλα ελέγχου ταυτότητας.
- Προσφέρει δικαιώματα και πολιτικές περιορισμού.
- Χρησιμοποιείται ευρέως για αιτήματα API περιορισμού ρυθμού από έναν μόνο χρήστη.
Ιστορία του Django
| Έτος | Milestone |
|---|---|
| 2003 | Το έργο ξεκίνησε από τους Adrian Holovaty και Simon Willison ως εσωτερικό έργο στην εφημερίδα Lawrence Journal-World. |
| Ιούλιος 2005 | Κυκλοφόρησε τον Ιούλιο του 2005 ως «Django», που πήρε το όνομά του από τον κιθαρίστα της τζαζ Django Reinhardt. |
| Ιούνιος 2008 | Δηλώθηκε ότι ένα λογισμικό Django Foundation (DSF) θα διατηρούσε το Django. |
| 29 2009 Ιουλίου | Το Django 1.1 κυκλοφόρησε με χαρακτηριστικά όπως συγκεντρωτικά στοιχεία και δοκιμές που βασίζονται σε συναλλαγές. |
| 17 2010 Μαΐου | Κυκλοφόρησε το Django 1.2. Η ενημέρωση προσέφερε λειτουργίες όπως πολλαπλές βάσεις δεδομένων και ένα backend email, ενώ έγιναν βελτιώσεις για τις συνεδρίες και τα cookies. |
| Μαρτίου 23 2011 | Η έκδοση 1.3 εισήγαγε λειτουργίες όπως προβολές που βασίζονται σε κλάσεις και στατικά αρχεία. |
| Μαρτίου 23 2012 | Η έκδοση 1.4 κυκλοφόρησε με νέες δυνατότητες όπως ζώνες ώρας και δοκιμές εντός προγράμματος περιήγησης. |
| Φεβρουάριος 26 2013 | Η έκδοση 1.5 συνοδευόταν από Python 3 λειτουργίες υποστήριξης και διαμόρφωσης μοντέλου χρήστη. |
| Νοέμβριος 6 2013 | Η έκδοση 1.6 συνοδευόταν από λειτουργίες διαχείρισης συναλλαγών βάσης δεδομένων και ομαδοποίησης συνδέσεων. |
| 2 2014 Σεπτέμβριο | Η έκδοση 1.7 είχε νέες δυνατότητες όπως φόρτωση εφαρμογών, μετεγκαταστάσεις και διαμόρφωση. |
| 1 2015 Απρίλιο | Παρέχεται εγγενής υποστήριξη για πολλαπλούς μηχανισμούς προτύπων. |
| 1 Δεκέμβριος 2015 | Στην έκδοση 1.9, εισήχθη μια λειτουργία αυτόματης επικύρωσης κωδικού πρόσβασης. |
| Αύγουστος 1 2016 | Στην έκδοση 1.10, αναζήτηση πλήρους κειμένου για PostgreSQL ξεκίνησε. |
| 4 2017 Απρίλιο | Η έκδοση 1.11 ήταν η τελευταία που υποστήριζε Python 2.7. |
| 2 Δεκέμβριος 2017 | Η έκδοση 2.0 έγινε η πρώτη Python Έκδοση μόνο 3 εκδόσεων. |
| Αύγουστος 1 2018 | Η έκδοση 2.1 συνοδευόταν από δυνατότητες υποστήριξης δικαιωμάτων "προβολής" μοντέλου. |
| 2021 | Αφαιρέθηκε η υποστήριξη για το Django 3.0 και προστέθηκε η υποστήριξη για το Django 3.2. |
Τώρα, σε αυτό το σεμινάριο Django για αρχάριους, ας μάθουμε για τα χαρακτηριστικά του Django.
Χαρακτηριστικά του Django
Παρακάτω είναι τα χαρακτηριστικά του Django:
- Σας βοηθά να ορίσετε μοτίβα για το URLs στην αίτησή σας.
- Απλό αλλά ισχυρό URL σύστημα.
- Ενσωματωμένο σύστημα ελέγχου ταυτότητας.
- Μια βάση δεδομένων σε αντικειμενοστρεφή γλώσσα προγραμματισμού που προσφέρει την καλύτερη αποθήκευση και ανάκτηση δεδομένων.
- Η λειτουργία αυτόματης διεπαφής διαχειριστή επιτρέπει τη λειτουργικότητα προσθήκης, επεξεργασίας και διαγραφής στοιχείων. Μπορείτε να προσαρμόσετε τον πίνακα διαχείρισης σύμφωνα με τις ανάγκες σας.
- Το πλαίσιο προσωρινής αποθήκευσης διαθέτει πολλαπλούς μηχανισμούς προσωρινής αποθήκευσης.
Τώρα, σε αυτό το σεμινάριο για το Django framework, θα μάθουμε για τα χαρακτηριστικά του Django.
Χαρακτηριστικά του Django
Εδώ είναι τα κύρια χαρακτηριστικά του Django:
- Χαλαρά συζευγμένο – Το Django σας βοηθά να κάνετε κάθε στοιχείο της στοίβας του ανεξάρτητο από τα άλλα.
- Less κωδικός – Εξασφαλίζει αποτελεσματική ανάπτυξη.
- Δεν επαναλαμβάνεται – Όλα πρέπει να αναπτύσσονται σε ένα ακριβώς σημείο αντί να επαναλαμβάνονται.
- Γρήγορη ανάπτυξη – Το Django προσφέρει γρήγορη και αξιόπιστη ανάπτυξη εφαρμογών.
- Συνεπής σχεδιασμός – Το Django διατηρεί έναν καθαρό σχεδιασμό και διευκολύνει την παρακολούθηση των βέλτιστων πρακτικών ανάπτυξης ιστοσελίδων.
Στη συνέχεια, σε αυτό το σεμινάριο για αρχάριους του Django, θα μάθουμε για την αρχιτεκτονική του Django.
Django Architecture: MVC και MVT
Παρακάτω είναι μια λεπτομερής αρχιτεκτονική του Django:
Django Archiδομή
Μοτίβο MVC
Όταν μιλάμε για εφαρμογές που παρέχουν ένα περιβάλλον χρήστη (web ή desktop), συνήθως μιλάμε για αρχιτεκτονική MVC. Το μοτίβο MVC βασίζεται στο Μοντέλο, την Προβολή και τον Ελεγκτή.
The Μοντέλο Ορίζει τη δομή δεδομένων και αναλαμβάνει την υποβολή ερωτημάτων στη βάση δεδομένων.
The Προβολή ορίζει ποια δεδομένα πρέπει να παρουσιάζονται και επιστρέφει μια απόκριση HTTP.
The ελεγκτής είναι το μέρος της εφαρμογής που χειρίζεται την αλληλεπίδραση του χρήστη.
Μοτίβο Django MVC-MVT
Το Model-View-Template (MVT) είναι μια διαφορετική έννοια σε σύγκριση με το MVC. Η κύρια διαφορά μεταξύ αυτών των δύο αρχιτεκτονικών μοτίβων είναι ότι το ίδιο το Django διαχειρίζεται το τμήμα Controller (τον κώδικα λογισμικού που ελέγχει τις αλληλεπιδράσεις μεταξύ του Model και της View). Το πρότυπο είναι ένα αρχείο HTML το οποίο αναμειγνύεται με ένα αρχείο Django Template Language, που ονομάζεται επίσης DTL.
Το παρακάτω διάγραμμα δείχνει πώς όλα τα στοιχεία του μοτίβου MVT αλληλεπιδρούν μεταξύ τους για να εξυπηρετήσουν ένα συγκεκριμένο αίτημα χρήστη.
MVT Archiδομή
Όπως φαίνεται στο παραπάνω διάγραμμα, ένας χρήστης ζητά έναν πόρο από το Django. Το Django λειτουργεί ως ελεγκτής και ελέγχει για τον διαθέσιμο πόρο στο URL.
Εάν η URL maps, καλείται μια προβολή που αλληλεπιδρά με το μοντέλο και το πρότυπο. Στη συνέχεια, το Django απαντά στον χρήστη και στέλνει ένα πρότυπο ως απάντηση.
Τώρα, σε αυτή τη σειρά εκπαιδευτικών σεμιναρίων Django για αρχάριους, θα μάθουμε για τα στοιχεία του Django.
Συστατικά του Django
Μορφή
Το Django διαθέτει μια ισχυρή βιβλιοθήκη φορμών που χειρίζεται την απόδοση των φορμών ως HTML. Η βιβλιοθήκη βοηθά στην επικύρωση των δεδομένων που υποβάλλονται και στη μετατροπή τους σε Python τύπους.
Πιστοποίηση
Διαχειρίζεται λογαριασμούς χρηστών, ομάδες, συνεδρίες χρηστών που βασίζονται σε cookies και πολλά άλλα.
διαχειριστής
Διαβάζει μεταδεδομένα στα μοντέλα σας για να παρέχει μια ισχυρή διεπαφή που μπορεί να χρησιμοποιηθεί για τη διαχείριση περιεχομένου στον ιστότοπό σας.
Διεθνοποίηση
Το Django παρέχει υποστήριξη για τη μετάφραση κειμένου σε διάφορες γλώσσες και τη μορφοποίηση ημερομηνιών, ωρών, αριθμών και ζωνών ώρας ανάλογα με την τοποθεσία.
Ασφάλεια
Το Django παρέχει προστασία από τις ακόλουθες επιθέσεις:
- Παραχάραξη αιτημάτων μεταξύ τοποθεσιών (CSRF)
- Σεναριοποίηση μεταξύ ιστοτόπων
- SQL injection
- Clickjacking
- Απομακρυσμένη εκτέλεση κώδικα
Διάσημες εταιρείες που χρησιμοποιούν το Django
Ακολουθούν οι εταιρείες που χρησιμοποιούν το Django:
- Bitbucket
- Disqus
- NASA
- PBS (Public Broadcasting Service)
- Mozilla
- Η εφημερίδα Washington Post
- Οι Νιου Γιορκ Ταιμς
- Los Angeles Times
- The Guardian
- National Geographic
- Discovery Channel
Μειονεκτήματα της χρήσης του Django
Ακολουθούν ορισμένα μειονεκτήματα της χρήσης του Django:
- Μία μόνο διεργασία δεν μπορεί να χειριστεί πολλά αιτήματα ταυτόχρονα.
- Το Django είναι ένα πολύ μονολιθικό εργαλείο.
- Τα στοιχεία αναπτύσσονται μαζί, κάτι που μπορεί να δημιουργήσει σύγχυση.
- Απαιτείται γνώση ολόκληρου του συστήματος για να εργαστείτε στο Django.
- Κάνει τα στοιχεία της διαδικτυακής εφαρμογής στενά συνδεδεμένα.
- Πρέπει να κάνετε μακρύ προγραμματισμό για μικρές εργασίες.


