django_friendlyurls является приложение Django позволяет создавать URL-адреса, которые непосредственно возвращают взгляды.
Там нет 302 перенаправление.
Наиболее распространенное использование дело в том, что у вас есть URL, которые возвращают пользовательские профили, такие как
http://www.example.com/user/1
Дружественные URL позволяют вам создать URL, так что пользователь может получить доступ, идя в:
http://www.example.com/jeff
Главное то, что адресная строка в браузере не изменяет http://www.example.com/user/1
Веб-сервер возвращает тот же 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; вернуться и '/ пользователь /% s'% self.id
User.add_to_class ('' friendly_urls, generic.GenericRelation (UrlMapping))
User.get_absolute_url = get_absolute_url
В основном это обезьяна патчи модель пользователя, чтобы добавить поле. Вы можете сделать
Пользователь = User.objects.get (рк = 1)
user.friendly_urls.all ()
Это позволит получить список всех дружественных URL.
Вы не должны обезьяны патч все модели.
Проблемы / Вопросы
Не забудьте запустить SyncDB потому friendlyurls создает таблицу для хранения отображения URL.
Дополнительные настройки
FRIENDLYURLS_IGNORE_CASE - Установить на Правда, если вы хотите игнорировать тот случай, когда, пытаясь найти путь. По умолчанию: False
Требования
- Python
- Джанго
Комментарии не найдены