django_friendlyurls este o aplicatie Django vă permite să creați adrese URL care se întorc direct vederi.
Nu există nici o redirecționare 302.
Cel mai comun caz de utilizare este că aveți URL-uri care se întorc profiluri de utilizator, cum ar fi
http://www.example.com/user/1
URL-urile prietenoase vă permit să creați o adresă URL, astfel încât utilizatorul poate fi accesat prin a merge la:
http://www.example.com/jeff
Cheia este faptul că bara de adrese din browser-ul nu se schimba la http://www.example.com/user/1
Serverul web returnează același document HTML ca http://www.example.com/user/1
Debit
Cererea se uită în sus șirul "Jeff" În cazul în care constată o adresă URL meci amical se va citi absolute_path și încearcă să o rezolve prin inscrie prin URL resolver un timp două.
Dacă găsește o rezoluție se va întoarce acest punct de vedere.
Utilizare
Aici este un exemplu de cum să pună în aplicare friendly_urls pentru un utilizator:
Am pus acest lucru în models.py:
de la django.contrib.contenttypes import generic
de la friendlyurls UrlMapping import
de la django.contrib.auth.models de utilizare import
def get_absolute_url (auto):
& Nbsp; reveni u '/ utilizator /% s'% self.id
User.add_to_class ("friendly_urls, generic.GenericRelation (UrlMapping))
User.get_absolute_url = get_absolute_url
Acest principiu, maimuță patch-uri modelul de utilizator pentru a adăuga un câmp. Puteți face o apoi
utilizator = User.objects.get (pk = 1)
user.friendly_urls.all ()
Aceasta va primi o listă cu toate URL-uri prietenoase.
Tu nu ar trebui să aibă la patch-uri maimuță toate modelele.
Probleme / Intrebari
Nu uita să rulați syncdb deoarece friendlyurls creează un tabel pentru a stoca mapările URL.
Setări suplimentare
FRIENDLYURLS_IGNORE_CASE - Setați această la True dacă doriți să ignorați cazul în care încercarea de a găsi o cale. Implicit: Fals
Cerințe :
- Python
- Django
Comentariile nu a fost găsit