Я использую общий вид DetailView на основе классов Django для поиска объекта для отображения.При определенных обстоятельствах, вместо того, чтобы отображать объект, я хочу отступить и вместо этого выдать HTTP rediect.Я не вижу, как я делаю это.Это когда пользователь нажимает на объект в моем приложении, но без использования канонического URL.Так, например, в StackOverflow URL-адреса имеют вид:
http://stackoverflow.com/<content_type>/<pk>/<seo_friendly_slug>
например:
http://stackoverflow.com/questions/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, поскольку он просто ожидает контекстные данные.
Может быть, мне просто нужно написать ручное представление, но я подумал, знает ли кто-нибудь, возможно ли это?
Спасибо!
Людо.