Αναγνώστες σαν εσάς βοηθούν στην υποστήριξη του MUO. Όταν κάνετε μια αγορά χρησιμοποιώντας συνδέσμους στον ιστότοπό μας, ενδέχεται να κερδίσουμε μια προμήθεια θυγατρικών.
Χωρίς δυναμική δρομολόγηση, η πλοήγηση σε ιστοσελίδες θα ήταν δύσκολη. Θα πρέπει να πληκτρολογήσετε την πλήρη διαδρομή κάθε σελίδας που επισκέπτεστε στο πρόγραμμα περιήγησης. Τι τρομερή εμπειρία χρήστη.
Οι Dynamic Uniform Resource Locators (URLs), σας επιτρέπουν να πλοηγηθείτε σε διαφορετικές σελίδες μιας εφαρμογής με το πάτημα ενός κουμπιού. Το Django διευκολύνει τον σχεδιασμό δυναμικών URL. Διαθέτει μια λειτουργική μονάδα URL Configuration (URLconf) που συνδέει εκφράσεις URL με προβολές.
Όλος ο κώδικας στο URLconf είναι σε σύνταξη Python, καθιστώντας εύκολη τη δημιουργία δυναμικών διευθύνσεων URL. Ας μάθουμε περισσότερα για τις δυναμικές διευθύνσεις URL δημιουργώντας ένα έργο Django.
1. Δημιουργήστε ένα έργο Django
Πρώτα, δημιουργήστε ένα έργο Django και εφαρμογή (εφαρμογή).
Ονομάστε την εφαρμογή σας Μπόμα-ρολόι. Η εφαρμογή θα συλλέγει την τοποθεσία, την περιγραφή και τους αριθμούς κατοίκων από διάφορες γειτονιές. Δημιουργήστε ένα μοντέλο με όνομα
Γειτονιά. Χρησιμοποιήστε το μοντέλο για να προσθέσετε πληροφορίες σχετικά με τις γειτονιές σε μια βάση δεδομένων. Μάθε πως να δημιουργήστε μοντέλα στο Django και τη βάση δεδομένων εάν δεν είστε εξοικειωμένοι.Στη συνέχεια, δημιουργήστε μια συνάρτηση προβολής για τις γειτονιές.
2. Δημιουργήστε μια λειτουργία προβολής
Στο Django, οι προβολές είναι συναρτήσεις Python που λαμβάνουν αιτήματα HTTP και επιστρέφουν απαντήσεις. Σε μια ιστοσελίδα που υποστηρίζεται από το Django, οι προβολές εκτελούν διάφορες εργασίες και αποστολές.
Για να εκτελέσετε μια προβολή, πρέπει να την καλέσετε μέσω μιας διεύθυνσης URL. Μια διεύθυνση URL είναι μια μοναδική διαδρομή προς έναν πόρο στον ιστό. Ο πόρος μπορεί να είναι μια σελίδα HTML, μια εικόνα ή ένα τελικό σημείο API.
Δημιουργήστε μια διεύθυνση URL που ανακτά δεδομένα γειτονιάς με βάση τις παραμέτρους που διαβιβάστηκαν. Για να το κάνετε αυτό, μπορείτε να χρησιμοποιήσετε το πρωτεύον κλειδί (pk) ή Ταυτοποίηση (αναγνωριστικό) για να ανακτήσετε τις πληροφορίες. Θα χρησιμοποιήσετε ένα πρότυπο για να το κάνετε αυτό.
Μπορείτε να δημιουργήσετε προβολές ορίζοντας τις σε ένα αρχείο που ονομάζεται views.py στο φάκελο της εφαρμογής. Ξεκινήστε με την εισαγωγή του καθιστώ λειτουργία από το Django για εμφάνιση δεδομένων στη διεύθυνση URL. Εισαγάγετε επίσης το Γειτονιά μοντέλο από models.py.
από django.συντομεύσεις εισαγωγή καθιστώ
από .μοντέλα εισαγωγή Γειτονιά
Στη συνέχεια, δημιουργήστε μια συνάρτηση προβολής με το όνομα Σπίτι που εμφανίζει όλες τις γειτονιές στο αρχικό πρότυπο. ο NeighborHood.objects.all() Η συνάρτηση λαμβάνει δεδομένα για όλες τις γειτονιές από τη βάση δεδομένων.
defΣπίτι(αίτηση):
γειτονιές = NeighbourHood.objects.all()
απόδοση επιστροφής (αίτημα, "home.html", {'γειτονιές':γειτονιές})
Επίσης, δημιουργήστε μια λειτουργία προβολής για join_hood που θα εμφανίζει τις πληροφορίες μιας γειτονιάς. ο NeighbourHood.objects.get (id=id) η συνάρτηση ζητά δεδομένα σύμφωνα με το αναγνωριστικό. Στη συνέχεια, οι πληροφορίες αποδίδονται σε ένα πρότυπο.
defjoin_hood(αίτημα, αναγνωριστικό):
γειτονιά = NeighbourHood.objects.get (id=id)
απόδοση επιστροφής (αίτημα, 'join_hood.html', {'γειτονιά':γειτονιά})
Αργότερα, όταν πλοηγείστε σε μια γειτονιά, θα μπορείτε να δείτε τις πληροφορίες του προφίλ της.
3. Δημιουργήστε μια δυναμική διεύθυνση URL
Τώρα μπορείτε να δημιουργήσετε μια δυναμική διεύθυνση URL για τη συνάρτηση προβολής που δημιουργήσατε.
από django.urls εισαγωγή μονοπάτι
από. εισαγωγή προβολές
από django.conf εισαγωγή Ρυθμίσεις
από django.conf.urls.static εισαγωγήστατικός
απότζάνγκο.συνεισφέρω.staticfiles.urlsεισαγωγήstaticfiles_urlpatternsurlpatterns = [
μονοπάτι ('Σπίτι', views.home, name='Σπίτι'),
μονοπάτι ('join_hood/<str: id>/', views.join_hood, name='join_hood'),
]
ανΡυθμίσεις.DEBUG:
urlpatterns += στατικός(Ρυθμίσεις. MEDIA_URL, document_root = ρυθμίσεις. MEDIA_ROOT)
Εισαγωγή μονοπάτι από τις διευθύνσεις URL του Django για να δημιουργήσετε διαδρομές για την προβολή. Στη συνέχεια, εισαγάγετε τις συναρτήσεις προβολής από views.py.
ο join_hood Η διεύθυνση URL έχει ένα σύμβολο κράτησης θέσης σε γωνιακές αγκύλες:. Αυτό καταγράφει αυτό το τμήμα της διεύθυνσης URL και το στέλνει στην προβολή.
Οι γωνιακοί βραχίονες περιλαμβάνουν συνήθως μια προδιαγραφή μετατροπέα. Η προδιαγραφή μπορεί να είναι είτε συμβολοσειρά (str) είτε ακέραιος (int). Το Django προσφέρει επίσης γυμνοσάλιαγκας, μονοπάτι, ή καθολικά μοναδικά αναγνωριστικά (uuid). Η προδιαγραφή περιορίζει τον τύπο της μεταβλητής ή τον αριθμό των χαρακτήρων που μεταβιβάζονται στη διεύθυνση URL στην προβολή.
Δίνοντας ένα όνομα στις διευθύνσεις URL θα σας βοηθήσει να τα αναγνωρίσετε στα πρότυπα.
ο στατικός και στατικά αρχεία οι εισαγωγές εμφανίζουν στατικά αρχεία στις διαδρομές URL. Μάθετε περισσότερα σχετικά με τον τρόπο δομής των παραμέτρων URL στο επίσημο Django τεκμηρίωση.
4. Προσθήκη διεύθυνσης URL σε ένα πρότυπο
Αφού προσθέσετε τη συνάρτηση προβολής στη διεύθυνση URL, δημιουργήστε ένα πρότυπο HTML για να εμφανίσετε τα δεδομένα. Ονομάστε το πρότυπο join_hood.html.
{% επεκτείνεται "βάση.html" %}
{% φορτώνω στατικός %}
{% αποκλεισμός περιεχομένου %}
<div class="κάρτα mb-3" στυλ="μέγιστο πλάτος: κατάλληλο περιεχόμενο.">
<div class="σειρά g-0">
<div class="col-md-4">
<div class="col-md-8">
<div class="κάρτα-σώμα">
<h5 class="κάρτα-τίτλος"> Καλως ΗΡΘΑΤΕ!</h5>
<p class="κάρτα-κείμενο pt-4"> Όνομα: {{neighbourhood.name}}</Π>
<p class="κάρτα-κείμενο pt-4"> Τοποθεσία: {{neighbourhood.location}}</Π>
<p class="κάρτα-κείμενο pt-4"> Περιγραφή: {{neighbourhood.description}}</Π>
<p class="κάρτα-κείμενο pt-4"> Health Tel:{{neighbourhood.health_tell}}</Π>
<p class="κάρτα-κείμενο pt-4"> Αριθμός αστυνομίας: {{neighbourhood.police_number}}</Π>
<p class="κάρτα-κείμενο pt-4"> Κάτοικοι: {{γειτονιά. Μετρώ}}</Π>
</div>
</div>
</div>
</div>
</div>
{% endblock %}
Δημιουργήστε το join_hood πρότυπο στο φάκελο της εφαρμογής για να εμφανίσετε τα δεδομένα της γειτονιάς. Αρχικά, επεκτείνετε το βάση.html πρότυπο με φύλλα στυλ (bootstrap) που θα χρησιμοποιήσετε για το στυλ του προτύπου. Στη συνέχεια, αποδώστε τις μεταβλητές που θα εμφανίσουν τις πληροφορίες στη σελίδα.
Στη συνέχεια, δημιουργήστε ένα home.html πρότυπο όπου θα εμφανίζονται όλες οι γειτονιές.
{% επεκτείνεται 'βάση.html' %}
{% φορτώνω στατικός %}
{% αποκλεισμός περιεχομένου %}
<div class="δοχείο" στυλ="χρωμα μαυρο;">
<img src="{{neighborhood.hood_logo.url}}" τάξη="κάρτα-img-top" alt="{{user.neighborhood.name}}"><div class="σειρά">
{% για γειτονιά σε γειτονιές %}
<div class="col-md-4">
<div class="κάρτα mb-4" στυλ="Ελάχιστο ύψος: 340 px">
<img src="{{neighborhood.hood_logo.url}}" τάξη="κάρτα-img-top" alt="{{user.hood.name}}"><div class="κάρτα-σώμα">
<h5 class="κάρτα-τίτλος">
{{neighborhood.name}}
({{neighborhood.location}})
<span class="ml-4">{{γειτονιά. Count}} μέλος{{neighborhood.members.count|pluralize}}</span>
</h5><p class="κάρτα-κείμενο">{{neighborhood.description}}</Π>
<p class="κάρτα-κείμενο">{{γειτονιά.μέλος. Μετρώ}}</Π>
<a href="{% url 'join_hood' γειτονιά.id %}" τάξη="btn btn-πρωτογενές btn-sm">Εγγραφείτε στο Hood</ένα>
</div>
</div>
</div>
</div>
</div>
{% endblock %}
Στην αρχική σελίδα, αποδώστε όλες τις πληροφορίες που θέλετε να εμφανίσετε σχετικά με τις γειτονιές. Θα προσθέσετε ένα κουμπί και μια ετικέτα αγκύρωσης στην αρχική σελίδα. Η ετικέτα αγκύρωσης έχει τη διεύθυνση URL όνομα και ταυτότητα γειτονιάς.
Όταν κάνετε κλικ, το κουμπί πλοηγείται στη γειτονιά αυτού του αναγνωριστικού. Το αρχικό πρότυπο εμφανίζεται στη διεύθυνση URL http://127.0.0.1:8000/home/. Η παρακάτω εικόνα δείχνει αυτή τη σελίδα:
5. Δοκιμή δυναμικής δρομολόγησης
Τώρα, μπορείτε να ελέγξετε εάν η δυναμική δρομολόγηση λειτουργεί στο πρότυπο. Όταν κάνετε κλικ στο ενώστε την κουκούλα κουμπί, Πλοηγείται στο join_hood πρότυπο. ο join_hood Το πρότυπο εμφανίζει πληροφορίες προφίλ σχετικά με τη γειτονιά που επιλέξατε.
Θα δείτε επίσης το αναγνωριστικό της γειτονιάς να εμφανίζεται στη διεύθυνση URL του προγράμματος περιήγησης http://127.0.0.1:8000/join_hood/2/
Θα εμφανιστεί όπως φαίνεται παρακάτω:
Συγχαρητήρια! Έχετε δημιουργήσει μια δυναμική διεύθυνση URL.
Γιατί να χρησιμοποιήσετε διευθύνσεις URL του Django;
Οι δυναμικές διευθύνσεις URL είναι ένα σημαντικό χαρακτηριστικό σε εφαρμογές web. Το Django διευκολύνει τον σχεδιασμό διευθύνσεων URL σύμφωνα με τις ανάγκες σας. Καταργεί τους περιορισμούς που μπορεί να συσχετίσετε με άλλα πλαίσια.
Η ενότητα URLconf είναι γεμάτη πόρους που υποστηρίζουν τη δημιουργία διεύθυνσης URL του Django. Επίσης, διευκολύνει την προβολή στατικών αρχείων σε πρότυπα και βελτιώνει τον χειρισμό σφαλμάτων.
Το Django έχει άλλα χαρακτηριστικά που έχουν σχεδιαστεί για τη βελτιστοποίηση εφαρμογών υποστήριξης. Αυτοματοποιεί τον έλεγχο ταυτότητας χρηστών, τη διαχείριση περιεχομένου και τους χάρτες τοποθεσιών, μεταξύ άλλων λειτουργιών.