.. .. META INFORMATION OF TRANSLATION .. .. $TranslationStatus: Done, waiting for revision $ .. $OriginalRevision: 11348 $ .. $TranslationAuthors: Robson Mendonça $ .. .. INFO OF THIS FILE (DO NOT EDIT! UPDATED BY SUBVERSION) .. .. $HeadURL$ .. $LastChangedRevision$ .. $LastChangedBy$ .. $LastChangedDate$ .. .. _ref-request-response: ================================ Objetos de requisição e resposta ================================ .. module:: django.http :synopsis: Classes para trabalhar com requisições e respostas HTTP. Visão Geral =========== O Django utiliza objetos de requisição e resposta para passar estado através do sistema. Quando uma página é requisitada, o Django cria um objeto :class:`HttpRequest` que contém metadados sobre a requisição. Então o Django carrega a view apropriada, passando o :class:`HttpRequest` como o primeiro argumento para a função de view. Cada view é responsável por devolver um objeto :class:`HttpResponse`. Este documento explica as APIs para os objetos :class:`HttpRequest` e :class:`HttpResponse`. Objetos HttpRequest =================== .. class:: HttpRequest Atributos --------- Todos os atributos, exceto ``session``, devem ser considerados somente para leitura. .. attribute:: HttpRequest.path Uma string representando o caminho completo para a página requisitada, não incluindo o domínio. Exemplo: ``"/music/bands/the_beatles/"`` .. attribute:: HttpRequest.method Uma string representando o método HTTP usado na requisição. Este valor está sempre em maiúsculo. Exemplo:: if request.method == 'GET': do_something() elif request.method == 'POST': do_something_else() .. attribute:: HttpRequest.encoding .. versionadded:: 1.0 Uma string representando o valor atual de codificação utilizado para decodificar o envio de dados de formulário (ou ``None``, que quer dizer que o parâmetro de configuração ``DEFAULT_CHARSET`` é utilizado). Você pode alterar este atributo para modificar a codificação usada quando acessar os dados do formulário. Quaisquer acessos subseqüentes a atributos (como ler de ``GET`` ou ``POST``) utilizará no novo valor de encodig. Isto é útil se você sabe que os dados do formulário não estão na codificação ``DEFAULT_CHARSET``. .. attribute:: HttpRequest.GET Um objeto, tipo dicionário, contendo todos os parâmetros HTTP GET. Veja a documentação do ``QueryDict`` abaixo. .. attribute:: HttpRequest.POST Um objeto dicionário contendo todos os parametros passados por HTTP POST. Veja a documentação do ``QueryDict`` abaixo. It's possible that a request can come in via POST with an empty ``POST`` dictionary -- if, say, a form is requested via the POST HTTP method but does not include form data. Therefore, you shouldn't use ``if request.POST`` to check for use of the POST method; instead, use ``if request.method == "POST"`` (see above). É possível que um requisição POST possa vir com um dicionário POST vazio -- se, digo, um formulário é requisitado via metodo HTTP POST mas não inclui dados. Portanto, você não deve usar ``if request.POST`` para checar o uso do método POST; ao invés, use ``if request.method == "POST"`` (veja acima). Perceba: ``POST`` *não* inclui informações de upload de arquivos. Veja ``FILES``. .. attribute:: HttpRequest.REQUEST Por conveniência, um objeto dicionário que procura ``POST`` primeiro, somente depois ``GET``. Inpirado no ``$_REQUEST`` do PHP. Por exemplo, se ``GET = {"name": "john"}`` and ``POST = {"age": '34'}``, ``REQUEST["name"]`` poderia ser ``"john"``, e ``REQUEST["age"]`` poderia ser ``"34"``. É fortemente sugerido que você use o ``GET`` e ``POST`` ao invés de ``REQUEST``, porque são mais explicitos. .. attribute:: HttpRequest.COOKIES Um dicionário padrão do Python contendo todos os cookies. Chaves e valores são strings. .. attribute:: HttpRequest.FILES Um objeto dicionário contendo todos os arquivos enviados. Cada chave em ``FILES`` é o ``name`` do ````. Cada valor em ``FILES`` é um objeto ``UploadedFile`` contendo os seguintes atributos: * ``read(num_bytes=None)`` -- Lê um número de bytes do arquivo. * ``name`` -- O nome do arquivo enviado. * ``size`` -- O tamanho, em bytes, do arquivo enviado. * ``chunks(chunk_size=None)`` -- Um gerado que fornece pedaços sequenciais de dados. Veja :doc:`/topics/files` para mais informações. Note que ``FILES`` conterá somente dados se o método de requisição for POST e o ``