Я использую общий профиль DetailView на основе Django для поиска объекта для отображения. При определенных обстоятельствах, вместо того, чтобы отображать объект, я хочу вернуться и выпустить HTTP-переименование. Я не вижу, как я это делаю. Это когда пользователь нажимает на объект в моем приложении, но не использует канонический URL. Так, например, на URL-адресах StackOverflow вид выглядит следующим образом:
http://stackoverflow.com/<content_type>/<pk>/<seo_friendly_slug>
например:
http://stackoverflow.com/info/5661806/django-debug-toolbar-with-django-cms-and-django-1-3
Фактически вы можете вводить что-либо как часть seo_friendly_slug и перенаправляет вас на правильный канонический URL-адрес для объекта, просматриваемого через PK.
Я хочу сделать то же самое в моем DetailView. Извлеките объект, убедитесь, что он является каноническим URL-адресом, и если не перенаправлен на URL-адрес get_absolute_url.
Я не могу вернуть HttpResponseRedirect в get_object, так как он ожидает поиска объекта. Я не могу вернуть его из get_context_data, так как он просто ожидает контекстных данных.
Возможно, мне просто нужно написать ручное представление, но я подумал, знает ли кто-нибудь, возможно ли это?
Спасибо!
Людо.