from django import http
return http.HttpResponsePermanentRedirect('/yournewpage.html')
браузер получит 301 и перейдет на /yournewpage.html
, как и ожидалось. другой ответ технически правильный, в том смысле, что python не обрабатывает перенаправление как таковое, браузер. вот что происходит под капотом:
Browser Python HTTP
-------------------> GET /youroldpage.html HTTP/1.1
<------------------- HTTP/1.1 301 Moved Permanently
Location: /yournewpage.html
-------------------> GET /yournewpage.html HTTP/1.1