.. .. META INFORMATION OF TRANSLATION .. .. $TranslationStatus: Done $ .. $OriginalRevision: 14483 $ .. $TranslationAuthors: Italo Maia, Walter Cruz $ .. .. INFO OF THIS FILE (DO NOT EDIT! UPDATED BY SUBVERSION) .. .. $HeadURL$ .. $LastChangedRevision$ .. $LastChangedBy$ .. $LastChangedDate$ .. FAQ: Usando o Django ==================== Por que acontece um erro ao importar o DJANGO_SETTINGS_MODULE? -------------------------------------------------------------- Certifique-se de que: * A variável de ambiente DJANGO_SETTINGS_MODULE está configurada para um módulo Python totalmente qualificado (ex:. "mysite.settings"). * O módulo está em ``sys.path`` (``import mysite.settings`` deve funcionar). * O módulo não contém erros de sintaxe (é claro). * Se você está usando o mod_python, mas *não* está usando o manipulador de requisições do Django, você precisa corrigir um bug do mod_python relacionado ao uso de ``SetEnv``; antes de você importar qualquer coisa do Django você precisa fazer o seguinte:: os.environ.update(req.subprocess_env) (onde ``req`` é o objeto de requisição do mod_python). Eu não gosto da sua linguagem de template. Eu tenho de usá-la? --------------------------------------------------------------- Pensamos que nossa linguagem de templates é a melhor coisa inventada desde os pedaços de bacon mas reconhecemos que a escolha da linguagem de templates é uma discussão quase religiosa. Não há nada no Django que requer que você use a linguagem de template, então, se você prefere o ZPT, Cheetah, ou o que quer que seja, sinta-se livre para usá-los. Eu tenho de usar sua camada de modelo/banco de dados? ----------------------------------------------------- Não. Assim como o sistema de templates, a camada de modelo/banco de dados está desacoplada do resto do framework. A única exceção é: se você usar uma biblioteca diferente de banco de dados, você irá perder o sistema de administração gerado automaticamente pelo Django. Esse aplicativo é acoplado à camada de banco de dados do Django. Como eu uso os campos de imagem e arquivos? -------------------------------------------- O uso de um :class:`~django.db.models.FileField` ou um :class:`~django.db.models.ImageField` nos models requer alguns passos: #. No seu arquivo de configurações, defina o :setting:`MEDIA_ROOT` como o caminho completo para o diretório onde você gostaria que o Django salvasse os arquivos enviados. (Para melhor performance, esses arquivos não são guardados em um banco de dados.) Defina o :setting:`MEDIA_URL` como a URL pública para esse diretório. Assegure-se de que esse diretório tenha permissão de escrita para o usuário do servidor Web. #. Adicione o :class:`~django.db.models.FileField` ou :class:`~django.db.models.ImageField` ao seu model, definindo a opção :attr:`~django.db.models.FileField.upload_to` para instruir o Django para qual subdiretório do :setting:`MEDIA_ROOT` ele deve enviar os arquivos. #. Tudo que será gravado no seu banco de dados é o caminho para o arquivo (relativo ao :setting:`MEDIA_ROOT`). Você pode também querer usar o atributo de conveniência :attr:`~django.core.files.File.url` fornecido pelo Django. Por exemplo, se o seu :class:`~django.db.models.ImageField` é chamado ``mug_shot``, você pode obter a URL absoluta para a sua imagem em um template com ``{{ object.mug_shot.url }}``. Como eu torno uma variável disponível em todos os meus templates? ----------------------------------------------------------------- Algumas vezes seus templates precisam todos da mesma coisa. Um exemplo comum seria menus gerados dinamicamente. À primeira vista, parece lógico simplesmente adicionar um dicionário comum ao contexto do template. A solução correta é usar um ``RequestContext``. Detalhes em como fazer isso estão aqui: :ref:`subclassing-context-requestcontext`.