Εκμάθηση Django: Χαρακτηριστικά, Archiδομή & Ιστορία

⚡ Έξυπνη Σύνοψη

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

  • 🔘 Δομή: Το Django είναι ένα υψηλού επιπέδου Python πλαίσιο για την γρήγορη δημιουργία σύνθετων, βασισμένων σε βάσεις δεδομένων εφαρμογών ιστού.
  • ☑️ Archiδομή: Το μοτίβο μοντέλου-προβολής-προτύπου (MVT) επιτρέπει στο Django να διαχειρίζεται τον ελεγκτή και να διαχωρίζει τα δεδομένα, τη λογική και την παρουσίαση.
  • Συμπεριλαμβάνονται μπαταρίες: Οι ενσωματωμένες λειτουργίες διαχείρισης, ελέγχου ταυτότητας, φορμών και διεθνοποίησης εξαλείφουν τις περισσότερες επαναλαμβανόμενες εργασίες εγκατάστασης.
  • Ασφάλεια: Οι προεπιλεγμένες δικλείδες ασφαλείας αποκλείουν το CSRF, το cross-site scripting, την SQL injection και τις επιθέσεις clickjacking.
  • 🧪 Κλίμακα: Instagram, το Pinterest, το Mozilla και το Disqus βασίζονται στο Django για να εξυπηρετούν πολύ υψηλή επισκεψιμότητα.
  • 🤖 ΟΛΑ ΣΥΜΠΕΡΙΛΑΜΒΑΝΟΝΤΑΙ: Το Django εξυπηρετεί μοντέλα μηχανικής μάθησης ως API, και βοηθοί όπως το GitHub Copilot επιταχύνουν τον προγραμματισμό στο backend.

Εκμάθηση Django για αρχάριους

Το 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δομή

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 αλληλεπιδρούν μεταξύ τους για να εξυπηρετήσουν ένα συγκεκριμένο αίτημα χρήστη.

Django Architecture: MVC και 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)
  • Pinterest
  • Instagram
  • Mozilla
  • Η εφημερίδα Washington Post
  • Οι Νιου Γιορκ Ταιμς
  • Los Angeles Times
  • The Guardian
  • National Geographic
  • Discovery Channel

Μειονεκτήματα της χρήσης του Django

Ακολουθούν ορισμένα μειονεκτήματα της χρήσης του Django:

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

Συχνές Ερωτήσεις

Το Django είναι κυρίως ένα backend framework, αν και συχνά περιγράφεται ως full-stack επειδή το επίπεδο προτύπου του αποδίδει HTML. Διαχειρίζεται τη λογική του διακομιστή, τις βάσεις δεδομένων, τη δρομολόγηση και την ασφάλεια, ενώ τα πρότυπα χειρίζονται την παρουσίαση για το πρόγραμμα περιήγησης.

Το Django είναι ένα full-stack framework που ενσωματώνεται σε μπαταρίες και διαθέτει ενσωματωμένο ORM, πίνακα διαχείρισης και έλεγχο ταυτότητας. Το Flask είναι ένα ελαφρύ microframework που παραμένει ελάχιστο και βασίζεται σε επεκτάσεις για τις ίδιες λειτουργίες, δίνοντας στους προγραμματιστές περισσότερο χειροκίνητο έλεγχο.

Το Django ORM, ή αλλιώς ο αντικειμενο-σχεσιακός χαρτογράφος, σας επιτρέπει να ορίσετε πίνακες βάσης δεδομένων ως Python κλάσεις και να τις υποβάλλετε ερωτήματα με Python κώδικα αντί για ακατέργαστο SQL. Υποστηρίζει βάσεις δεδομένων όπως PostgreSQL, MySQL, SQLiteκαι Oracle.

Εκτελέστε την εντολή python -m django –version στη γραμμή εντολών ή ανοίξτε ένα Python shell και εκτελέστε την εντολή import django ακολουθούμενη από την εντολή print(django.get_version()). Και οι δύο εμφανίζουν τον αριθμό έκδοσης του εγκατεστημένου Django.

Το Middleware είναι μια σειρά από hooks που επεξεργάζεται κάθε αίτημα και απάντηση παγκοσμίως. Το Django χρησιμοποιεί middleware για συνεδρίες, έλεγχο ταυτότητας, προστασία CSRF και κεφαλίδες ασφαλείας, κάθε μία από τις οποίες εκτελείται με τη σειρά πριν και μετά την εκτέλεση της προβολής σας.

Γνώση εργασίας για Python και απαιτούνται βασικές έννοιες ιστού όπως HTTP, HTML και βάσεις δεδομένων. Η κατανόηση του αντικειμενοστρεφούς προγραμματισμού καθιστά τα μοντέλα Django και τις προβολές που βασίζονται σε κλάσεις πολύ πιο εύκολα στην εκμάθηση.

Ναι. Το Django συχνά εξυπηρετεί μοντέλα μηχανικής μάθησης μέσω views ή του Django REST Framework, εκθέτοντας τις προβλέψεις ως τελικά σημεία API. Ένα εκπαιδευμένο μοντέλο φορτώνεται μία φορά κατά την εκκίνηση και επιστρέφει αποτελέσματα συμπερασμάτων σε web ή mobile clients.

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

Συνοψίστε αυτήν την ανάρτηση με: