THIS TRANSLATION IS IN PROGRESS:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+-------------------------------------------------------------------------------------------------+
|    This is an **in progress** translation document, that means there is somebody working on it. |
|    For more information on translating documents please look at `TranslateDocumentation Wiki`_. |
|    Please **do not** edit this page.                                                            |
|                                                                                                 |
| .. _TranslateDocumentation Wiki : http://code.djangoproject.com/wiki/TranslateDocumentation     |
+-------------------------------------------------------------------------------------------------+   

..
  =================
  The redirects app
  =================

.. sidebar:: Redirecionamento de Aplicação
  :subtitle: tradução para o português.

  Documento original: `The redirects app`_
  
  Tradução: Wiliam Alves de Souza <wiliamsouza83 at gmail.com>
  
  Referente a revisão: 4146

.. _The redirects app: http://www.djangoproject.com/documentation/redirects/

.. contents:: **Conteúdos do capítulo**

=============================
Redirecionamento de Aplicação
=============================

Django vem com uma aplicação para redirecionamento como opção. Ela permite que você armazene endereços(URLs) em uma base de dados e gerencia o redirecionamento para você.

Instalação
==========

Para instalar a aplicação de redirecionamento, siga estes passos:
       
    1. Adicione ``'django.contrib.redirects'`` em INSTALLED_APPS_ no seu arquivo settings.py.
    2. Adicione ``'django.contrib.redirects.middleware.RedirectFallbackMiddleware'``
       em MIDDLEWARE_CLASSES_ no seu arquivo settings.py.
    3. Execute o comando ``manage.py syncdb``.

.. _INSTALLED_APPS: http://www.djangoproject.com/documentation/settings/#installed-apps
.. _MIDDLEWARE_CLASSES: http://www.djangoproject.com/documentation/settings/#middleware-classes

Como funciona
=============

``manage.py syncdb`` cria uma tabela chamada ``django_redirect`` no banco de dados. Esta é uma simples tabela de referência contendo os campos ``site_id``, ``old_path`` e ``new_path``.

``RedirectFallbackMiddleware`` faz todo o trabalho. Toda vez que uma aplicação Django gerar um erro 404, ele checa a base de dados procurando pela URL requisitada, como ultimo recurso. Especificamente, ele verifica esta URL em ``old_path`` com um ID que corresponda com SITE_ID_ do arquivo settings.py.

    * Caso a URL seja encontrada e ``new_path`` não esteja vazio, acontece o redirecionamento para ``new_path``.
    * Caso a URL seja encontrada e ``new_path`` esta vazio, este gera um erro 410 ("Gone")
      não há endereço para redirecionamento.
    * Caso nenhuma URL seja encontrada, a requisição continua a ser processada de forma usual.

Esta aplicação trata somente erros 404 -- não trata erros 500 ou responde há qualquer outro código de erro.


Note que a ordem do ``MIDDLEWARE_CLASSES`` importa. Geralmente, você pode colocar
``RedirectFallbackMiddleware`` no final da lista, porque ele é o ultimo recurso.

Para mais sobre middleware, leia `middleware docs`_.

.. _SITE_ID: http://www.djangoproject.com/documentation/settings/#site-id
.. _middleware docs: http://www.djangoproject.com/documentation/middleware/

Como adicionar, modificar ou deletar redirecionamentos
======================================================

Através da interface de administração
-------------------------------------

Se você está com a interface de administração do Django ativa, você deve ver uma seção "Redirects" na página inicial da interface de administração. Edite os redirecionamentos da mesma forma como você edita qualquer outro objeto no sistema.

Através da API Python
---------------------

Redirecionamentos são representados por um `módulo Django`_ padrão, localizado em `django/contrib/redirects/models/redirects.py`_. Você pode acessar esse módulo através da `API da base de dados Django`_.

.. _módulo Django: http://www.djangoproject.com/documentation/model_api/
.. _django/contrib/redirects/models/redirects.py: http://code.djangoproject.com/browser/django/trunk/django/contrib/redirects/models/redirects.py
.. _API da base de dados Django: http://www.djangoproject.com/documentation/db_api/
Last modified 17 years ago Last modified on Dec 1, 2006, 9:32:15 AM
Note: See TracWiki for help on using the wiki.
Back to Top