django_friendlyurls είναι ένα app Django σας επιτρέπει να δημιουργήσετε τις διευθύνσεις URL που επιστρέφουν άμεσα απόψεις.
Δεν υπάρχει 302 ανακατεύθυνσης.
Η συνηθέστερη περίπτωση χρήσης είναι ότι έχετε τις διευθύνσεις URL που επιστρέφουν προφίλ των χρηστών όπως
http://www.example.com/user/1
Φιλικό URLs σας επιτρέπουν να δημιουργήσετε μια διεύθυνση URL, έτσι ώστε ο χρήστης μπορεί επίσης να προσεγγιστεί με τη μετάβαση:
http://www.example.com/jeff
Το κλειδί είναι ότι η γραμμή διευθύνσεων του προγράμματος περιήγησης δεν αλλάζει σε http://www.example.com/user/1
Ο web server επιστρέφει το ίδιο έγγραφο HTML ως http://www.example.com/user/1
Ροή
Η εφαρμογή αναζητά τη συμβολοσειρά "Jeff" Αν διαπιστώσει ένα φιλικό αγώνα url θα διαβάσει το absolute_path και θα επιχειρήσει να το επιλύσει με τη θέση της μέσω του αναλυτή URL για 2η φορά.
Αν διαπιστώσει ένα ψήφισμα που θα επιστρέψει την άποψη αυτή.
Χρήση
Εδώ είναι ένα παράδειγμα για το πώς να εφαρμόσουν friendly_urls για το χρήστη:
Έβαλα αυτό σε models.py:
από django.contrib.contenttypes εισαγωγή γενόσημων
από friendlyurls UrlMapping εισαγωγής
από django.contrib.auth.models εισαγωγή χρήστη
def get_absolute_url (αυτο):
& Nbsp? επιστρέψει u / χρήστη /% s '% self.id
User.add_to_class («friendly_urls», generic.GenericRelation (UrlMapping))
User.get_absolute_url = get_absolute_url
Αυτό βασικά μαϊμού μπαλώματα το μοντέλο χρήστη για να προσθέσετε ένα πεδίο. Στη συνέχεια μπορείτε να κάνετε
χρήστη = User.objects.get (PK = 1)
user.friendly_urls.all ()
Αυτό θα πάρετε μια λίστα με όλα τα friendly URLs.
Δεν πρέπει να πρέπει να μπάλωμα μαϊμού όλα τα μοντέλα.
Προβλήματα / Ερωτήσεις
Μην ξεχάσετε να τρέξει syncdb επειδή friendlyurls δημιουργεί έναν πίνακα για να αποθηκεύσετε τις αντιστοιχίσεις URL.
Πρόσθετες ρυθμίσεις
FRIENDLYURLS_IGNORE_CASE - Ορίστε την τιμή σε true αν θέλετε να αγνοήσετε την υπόθεση, όταν προσπαθείτε να βρείτε ένα μονοπάτι. Προεπιλογή: Λάθος
Απαιτήσεις :
- Python
- Django
Τα σχόλια δεν βρέθηκε