Το πλαίσιο ιστού Django έχει αρχιτεκτονική μοντέλο-προβολή-πρότυπο (MVT), που το καθιστά το μόνο πλαίσιο που θα χρειαστείτε για να δημιουργήσετε έναν πλήρη ιστότοπο ή εφαρμογή Ιστού. Αυτό το πλαίσιο Python σάς επιτρέπει να δημιουργείτε μοντέλα που δημιουργούν βάσεις δεδομένων και αποδίδουν δυναμικά πρότυπα HTML στη διεπαφή χρήστη χρησιμοποιώντας προβολές.

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

Τι είναι το μοντέλο του Django;

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

Συνεχίζοντας με τη ρύθμιση από το δικό μας

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

Το υπάρχον δείγμα δομής αρχείου έργου Django

η ιστοσελίδα μου/
η ιστοσελίδα μου/
_pycache_
_init_.py
asgi.py
settings.py
urls.py
wsgi.py
πωλητές/
μετανάστευση
_init_.py
admin.py
apps.py
models.py
test.py
views.py
db.sqlite3
διαχείριση.py

Δημιουργία μοντέλων Django

Αν κοιτάξετε κάτω από την ενότητα της εφαρμογής πωλητών στη δομή του αρχείου παραπάνω, θα δείτε ένα αρχείο που ονομάζεται models.py. Εδώ θα δημιουργήσετε όλα τα μοντέλα Django για την ενότητα των πωλητών του ιστότοπού σας. Κάθε μοντέλο που δημιουργείτε θα είναι μια υποκατηγορία Django's Model API, γι 'αυτό κάθε Django δημιουργήθηκε models.py Το αρχείο έχει μια προεπιλεγμένη εισαγωγή μοντέλων.

Το αρχείο models.py

Από μοντέλα εισαγωγής django.db

# Δημιουργήστε τα μοντέλα σας εδώ.

Πωλητής κατηγορίας (μοντέλα. Μοντέλο):
first_name = μοντέλα. CharField (max_length=30)
επώνυμο = μοντέλα. CharField (max_length=30)
contact_number = μοντέλα. CharField (max_length=30)

κατηγορίας Προϊόν (μοντέλα. Μοντέλο):
πωλητής = μοντέλα. ForeignKey (Πωλητής, on_delete=μοντέλα. ΑΛΛΗΛΟΥΧΙΑ)
item_name = μοντέλα. CharField (max_length=100)
item_quantity = μοντέλα. IntegerField()
item_price = μοντέλα. Δεκαδικό πεδίο (μέγιστα_ψηφία=9, δεκαδικά_ψηφία=2)
item_description = μοντέλα. Πεδίο κειμένου()

Ο παραπάνω κώδικας είναι αντίγραφο του ενημερωμένου περιεχομένου του model.py αρχείο. Το αρχείο δημιουργεί τώρα δύο μοντέλα—Πωλητή και Προϊόν. Αυτά τα μοντέλα μοιράζονται μια σχέση ένα προς πολλά, όπου ένας πωλητής μπορεί να έχει πολλά προϊόντα προς πώληση. Έτσι, το μοντέλο προϊόντος έχει ένα ξένο κλειδί από τον πωλητή και ένα on_delete οριστεί χαρακτηριστικό σε μοντέλα. ΑΛΛΗΛΟΥΧΙΑ, που σημαίνει ότι όταν διαγράφετε έναν πωλητή, θα διαγράφετε αυτόματα κάθε προϊόν που το έχει πρωτεύων κλειδί σαν ξένο κλειδί.

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

Προτού μπορέσετε να χρησιμοποιήσετε οποιοδήποτε μοντέλο που δημιουργείτε, θα πρέπει να πείτε στον Django πού να το βρει. Για να το κάνετε αυτό, θα χρειαστεί να πλοηγηθείτε στο settings.py αρχείο και εισαγάγετε το όνομα της μονάδας που περιέχει το models.py αρχείο, στο INSTALLED_APP Ενότητα.

Στο δείγμα έργου για αυτό το άρθρο, το models.py το αρχείο βρίσκεται στη μονάδα πωλητών. Ως εκ τούτου, το ενημερωμένο INSTALLED_APP η ενότητα θα έχει ως εξής:

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
«πωλητές»,
]

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

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

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

διακομιστής python manager.py

Με τον διακομιστή να λειτουργεί σε ένα τερματικό, ανοίξτε ένα νέο τερματικό και πληκτρολογήστε την ακόλουθη εντολή:

python management.py makemigrations

Μετά την εκτέλεση, το τερματικό θα παράγει την ακόλουθη έξοδο:

Μεταναστεύσεις για «πωλητές»:
sellers\migrations\0001_initial.py
- Δημιουργία μοντέλου πωλητή
- Δημιουργία μοντέλου προϊόντος

Το παραπάνω αποτέλεσμα δηλώνει ξεκάθαρα ότι έχετε πλέον μετεγκαταστάσεις για δύο μοντέλα — τον πωλητή και το προϊόν. Τώρα, αν πλοηγηθείτε στον φάκελο μετεγκατάστασης στη μονάδα πωλητών σας, θα δείτε ότι τώρα έχει ένα νέο αρχείο που ονομάζεται 0001_initial.py. Μέσα σε αυτό το αρχείο, θα βρείτε τις μετεγκαταστάσεις που μόλις δημιουργήσατε.

Το αρχείο 0001_initial.py

# Δημιουργήθηκε από Django 3.2.9 στις 26-02-2022 16:06

από το django.db εισαγωγές, μοντέλα
εισαγωγή django.db.models.delete

κατηγορία Μετανάστευση (μεταναστεύσεις. Μετανάστευση):

αρχικό = Αληθινό

εξαρτήσεις = [
]

λειτουργίες = [
μεταναστεύσεις. CreateModel(
όνομα='Πωλητής',
πεδία=[
('id', μοντέλα. BigAutoField (auto_created=True, main_key=True, serialize=False, verbose_name='ID')),
('first_name', μοντέλα. CharField (max_length=30)),
('επώνυμο', μοντέλα. CharField (max_length=30)),
('contact_number', μοντέλα. CharField (max_length=30)),
],
),
μεταναστεύσεις. CreateModel(
όνομα='Προϊόν',
πεδία=[
('id', μοντέλα. BigAutoField (auto_created=True, main_key=True, serialize=False, verbose_name='ID')),
('item_name', μοντέλα. CharField (max_length=100)),
('item_quantity', μοντέλα. IntegerField()),
('item_price', μοντέλα. Δεκαδικό πεδίο (δεκαδικά_μέρη=2, μέγ._ψηφία=9)),
('item_description', μοντέλα. Πεδίο κειμένου()),
(«πωλητής», μοντέλα. ForeignKey (on_delete=django.db.models.delete. CASCADE, to='sellers.seller')),
],
),
]

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

Το δεύτερο βήμα της διαδικασίας μετεγκατάστασης είναι η τελική μετεγκατάσταση των μοντέλων. Αυτό σημαίνει ότι συγχρονίζετε την κατάσταση της βάσης δεδομένων με το models.py αρχείο, χρησιμοποιώντας τις μετεγκαταστάσεις που μόλις δημιουργήσατε στο 0001_initial.py αρχείο. Μπορείτε να ολοκληρώσετε αυτήν τη διαδικασία (ενώ ο διακομιστής εξακολουθεί να εκτελείται) με την ακόλουθη εντολή:

python management.py μετεγκατάσταση

Τι είναι το πρότυπο του Django;

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

Δημιουργία προτύπου Django

Για να εισαγάγετε πρότυπα στο δείγμα ιστότοπου ηλεκτρονικού εμπορίου για αυτό το άρθρο, θα χρειαστεί να δημιουργήσετε έναν νέο κατάλογο στη λειτουργική μονάδα πωλητών. Αυτός ο νέος κατάλογος που ονομάζεται "πρότυπα" θα είναι το σπίτι όλων των εγγράφων HTML για την εφαρμογή των πωλητών — ξεκινώντας από την αρχική σελίδα.

Το αρχείο sellers_home.html





Πωλητές | ΗΛΕΚΤΡΟΝΙΚΟ ΕΜΠΟΡΙΟ


Καλώς ορίσατε πωλητές!




Αφού δημιουργήσετε τα πρότυπά σας, θα πρέπει να τα κάνετε ορατά στο Django προσθέτοντας τον κατάλογο των προτύπων σας στο ΠΡΟΤΥΠΑ τμήμα του settings.py αρχείο. Το ενημερωμένο ΠΡΟΤΥΠΑ το τμήμα θα μοιάζει με το εξής:

ΠΡΟΤΥΠΑ = [
{
'BACKEND': 'django.template.backends.django. DjangoTemplates',
'DIRS': [
# νέος κωδικός που δείχνει τη θέση των προτύπων
BASE_DIR / "πωλητές" / "πρότυπα"
],
'APP_DIRS': Σωστό,
'ΕΠΙΛΟΓΕΣ': {
'context_processors': [
"django.template.context_processors.debug",
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]

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

Ποια είναι η άποψη του Django;

Το View είναι το δεύτερο επίπεδο της αρχιτεκτονικής MVT του Django, ένα πρότυπο είναι άχρηστο εκτός εάν μια προβολή το αποδίδει στη διεπαφή χρήστη. Η προβολή είναι υπεύθυνη για την αποδοχή αιτημάτων ιστού και την επιστροφή κατάλληλων απαντήσεων (συμπεριλαμβανομένων των προτύπων). Στην πιο βασική της μορφή, η προβολή είναι μια συνάρτηση Python, αποθηκευμένη στο view.py αρχείο του έργου Django σας.

Δημιουργία Django View

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

Το αρχείο view.py

από απόδοση εισαγωγής django.shortcuts

ευρετήριο def (αίτημα):
απόδοση επιστροφής (αίτημα, 'sellers_home.html')

Η παραπάνω προβολή δέχεται ένα αίτημα και επιστρέφει το πρότυπο HTML του πωλητή. Έτσι, κάθε φορά που ένας χρήστης επισκέπτεται (ή ζητά) http://127.0.0.1:8000/sellers/ θα δουν την αρχική σελίδα των πωλητών. Αυτό γίνεται αφού δημιουργήσετε ένα urls.py αρχείο στη μονάδα πωλητών.

Το αρχείο Sellers urls.py

από τη διαδρομή εισαγωγής django.urls
από. προβολές εισαγωγής

urlpatterns = [
path('', views.index, name='index'),
]

Και συμπεριλάβετε τη διαδρομή προς τη μονάδα πωλητών urls.py αρχείο στο urls.py αρχείο που βρίσκεται στον κύριο κατάλογο του Django.

Το αρχείο urls.py ιστότοπου

από το django.contrib import import
από το django.urls εισαγωγή περιλαμβάνει, διαδρομή

urlpatterns = [
path('sellers/', include('sellers.urls')),
διαδρομή('admin/', admin.site.urls),
]

Τώρα που έχει ρυθμιστεί η προβολή, μπορείτε να βεβαιωθείτε ότι ο διακομιστής Django εξακολουθεί να εκτελείται και να πλοηγηθείτε http://127.0.0.1:8000/sellers/ στο πρόγραμμα περιήγησής σας για να δείτε την αρχική σελίδα των πωλητών.

Η αρχική σελίδα των πωλητών

Django’s MVT Architecture vs. Αρχιτεκτονική MVC

Η αρχιτεκτονική MVT του Django είναι αρκετά διαφορετική από τη δημοφιλή αρχιτεκτονική MVC.

Το τμήμα προτύπου της αρχιτεκτονικής MVT λειτουργεί με τον ίδιο τρόπο όπως η προβολή στην αρχιτεκτονική MVC, ενώ η προβολή στην αρχιτεκτονική MVT εμφανίζει ιδιότητες που είναι παρόμοιες με τον ελεγκτή στο MVC αρχιτεκτονική. Ωστόσο, τα μοντέλα και στις δύο αρχιτεκτονικές λειτουργούν πανομοιότυπα.

Εισαγωγή στην Αρχιτεκτονική MVC: Επεξήγηση παραδειγμάτων

Εφαρμόστε τις αρχές σχεδίασης Model-View-Controller στα δικά σας προγράμματα για άμεσα αποτελέσματα. Δείτε πώς να ξεκινήσετε.

Διαβάστε Επόμενο

ΜερίδιοΤιτίβισμαΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ
Σχετικά θέματα
  • Προγραμματισμός
  • Προγραμματισμός
  • Πύθων
Σχετικά με τον Συγγραφέα
Kadeisha Kean (Δημοσιεύτηκαν 46 άρθρα)

Η Kadeisha Kean είναι προγραμματιστής λογισμικού Full-Stack και συγγραφέας τεχνικής/τεχνολογίας. Έχει τη διακριτή ικανότητα να απλοποιεί μερικές από τις πιο σύνθετες τεχνολογικές έννοιες. παραγωγή υλικού που μπορεί να γίνει εύκολα κατανοητό από κάθε αρχάριο της τεχνολογίας. Είναι παθιασμένη με τη συγγραφή, την ανάπτυξη ενδιαφέροντος λογισμικού και το ταξίδι στον κόσμο (μέσω ντοκιμαντέρ).

Περισσότερα από την Kadeisha Kean

Εγγραφείτε στο ενημερωτικό μας δελτίο

Εγγραφείτε στο ενημερωτικό μας δελτίο για συμβουλές τεχνολογίας, κριτικές, δωρεάν ebook και αποκλειστικές προσφορές!

Κάντε κλικ εδώ για να εγγραφείτε