django_friendlyurls là một ứng dụng Django cho phép bạn tạo ra các URL trực tiếp trở lại quan điểm.
Không có 302 Redirect.
Các trường hợp sử dụng phổ biến nhất là bạn có các URL đó trả lại hồ sơ người dùng như
http://www.example.com/user/1
URL thân thiện cho phép bạn tạo ra một URL để người dùng cũng có thể được truy cập bằng cách vào:
http://www.example.com/jeff
Điều quan trọng là thanh địa chỉ trong trình duyệt không thay đổi để http://www.example.com/user/1
Các máy chủ web sẽ trả về tài liệu HTML như http://www.example.com/user/1
Lưu
Ứng dụng nhìn lên chuỗi 'jeff' Nếu nó tìm thấy một url trận giao hữu nó sẽ đọc ra absolute_path và cố gắng giải quyết nó bằng cách đặt nó thông qua giải quyết URL một lần thứ 2.
Nếu nó tìm thấy một độ phân giải nó sẽ trở lại quan điểm đó.
Cách sử dụng
Dưới đây là một ví dụ về làm thế nào để thực hiện friendly_urls cho một người sử dụng:
Tôi đặt này trong models.py:
từ django.contrib.contenttypes nhập chung
từ friendlyurls nhập UrlMapping
từ django.contrib.auth.models nhập tài khoản
def get_absolute_url (tự):
& Nbsp; trở lại u '/ người dùng /% s'% self.id
User.add_to_class ('friendly_urls', generic.GenericRelation (UrlMapping))
User.get_absolute_url = get_absolute_url
Điều này về cơ bản khỉ vá các mô hình tài khoản để thêm một lĩnh vực. Sau đó bạn có thể làm
user = User.objects.get (pk = 1)
user.friendly_urls.all ()
Điều này sẽ có được một danh sách của tất cả các url thân thiện.
Bạn không cần phải khỉ vá tất cả các mô hình.
Các vấn đề / câu hỏi
Đừng quên để chạy syncdb vì friendlyurls tạo ra một bảng để lưu trữ các ánh xạ URL.
Cài đặt bổ sung
FRIENDLYURLS_IGNORE_CASE - Thiết lập này là True nếu bạn muốn bỏ qua những trường hợp khi cố gắng để tìm một con đường. Mặc định: False
Yêu cầu :
- Python
- Django
Bình luận không