django_friendlyurls adalah aplikasi Django memungkinkan Anda untuk membuat URL yang langsung kembali pandangan.
Tidak ada 302 Redirect.
Kasus penggunaan yang paling umum adalah bahwa Anda memiliki URL yang kembali profil pengguna seperti
http://www.example.com/user/1
Friendly URL memungkinkan Anda untuk membuat URL sehingga pengguna juga dapat diakses dengan pergi ke:
http://www.example.com/jeff
Kuncinya adalah bahwa address bar di browser tidak berubah untuk http://www.example.com/user/1
Web server mengembalikan dokumen HTML yang sama seperti http://www.example.com/user/1
Arus
Aplikasi mendongak string 'jeff' Jika menemukan url pertandingan persahabatan itu akan membacakan absolute_path dan berusaha untuk mengatasinya dengan menempatkan melalui penyelesai URL 2 kali.
Jika menemukan resolusi itu akan kembali pandangan itu.
Penggunaan
Berikut adalah contoh bagaimana menerapkan friendly_urls untuk pengguna:
Saya menempatkan ini dalam models.py:
dari django.contrib.contenttypes impor generik
dari friendlyurls impor UrlMapping
dari django.contrib.auth.models impor Pengguna
def get_absolute_url (self):
& Nbsp; kembali u '/ user /% s'% self.id
User.add_to_class ('friendly_urls', generic.GenericRelation (UrlMapping))
User.get_absolute_url = get_absolute_url
Ini pada dasarnya monyet patch model User untuk menambahkan lapangan. Anda kemudian dapat melakukan
user = User.objects.get (pk = 1)
user.friendly_urls.all ()
Ini akan membuat daftar semua url yang ramah.
Anda tidak harus monyet Patch semua model.
Masalah / Pertanyaan
Jangan lupa untuk menjalankan syncdb karena friendlyurls membuat tabel untuk menyimpan pemetaan URL.
Pengaturan Tambahan
FRIENDLYURLS_IGNORE_CASE - Set ini ke True jika Anda ingin mengabaikan kasus ketika mencoba untuk menemukan jalan. Default: False
Persyaratan :
- Python
- Django
Komentar tidak ditemukan