O Django vem acompanhado de uma aplicação de redirecionamento opcional. Ela permite você armazenar redirecionadores no banco de dados e manipula o redirecionamento pra você.
Para instalá-lo, siga os seguintes passos:
O manage.py syncdb cria uma tabela django_redirect no seu banco de dados. Essa é uma tabela de aparência simples com os campos site_id, old_path e new_path.
O RedirectFallbackMiddleware faz todo trabalho. Toda vez que uma aplicação Django gera um erro 404, esse middleware checa o banco de dados do redirecionador para a URL acessada como um último recurso. Especialmente, ele procura por um redirecionador que tenha um old_path com um ID do site que corresponde ao SITE_ID no arquivo settings.py.
O middleware somente opera sobre 404s – não para 500s ou respostas de qualquer outro código de status.
Note que a ordem do MIDDLEWARE_CLASSES importa. Geralmente, você pode colocar o RedirectFallbackMiddleware no final da lista, porque ele é um último recurso.
Para saber mais sobre o middleware, leia a documentação do middleware.
Se você tem ativada a interface de administração automática do Django, você pode ver uma seção “Redirects” na página principal do admin. Edite os redirecionadores como você edita qualquer outro objeto do sistema.
Os redirecionadores são representados por um modelo Django padrão, que se encontram em django/contrib/redirects/models.py. Você pode acessar os objetos de redirecionamento utilizando a API de banco de dados do Django.
Dec 26, 2011