{"title":"FAQ: Usando o Django","version":"1.9","locale":"pt-br","docname":"faq/usage","url":"/pt-br/1.9/faq/usage/","canonical":"https://djangodocs.dev/pt-br/1.9/faq/usage/","summary":"Por que recebo um erro sobre importar o DJANGO_SETTINGS_MODULE? Link para este cabeçalho # Certifique-se de que: A variavél de ambiente DJANGO_SETTINGS_MODULE é…","html":"<h1>FAQ: Usando o Django<a class=\"heading-anchor\" href=\"#faq-using-django\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h1>\n<section id=\"why-do-i-get-an-error-about-importing-django-settings-module\">\n<h2>Por que recebo um erro sobre importar o DJANGO_SETTINGS_MODULE?<a class=\"heading-anchor\" href=\"#why-do-i-get-an-error-about-importing-django-settings-module\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Certifique-se de que:</p>\n<ul class=\"simple\">\n<li><p>A variavél de ambiente DJANGO_SETTINGS_MODULE é definida como um módulo Python reconhecido (i.e. “meuSite.settings”).</p></li>\n<li><p>O módulo citado está em <code class=\"docutils literal notranslate\"><span class=\"pre\">sys.path</span></code> (<code class=\"docutils literal notranslate\"><span class=\"pre\">import</span> <span class=\"pre\">meuSite.settings</span></code> deve funcionar).</p></li>\n<li><p>O módulo não contém erros de sintaxe (é claro).</p></li>\n</ul>\n</section>\n<section id=\"i-can-t-stand-your-template-language-do-i-have-to-use-it\">\n<h2>Eu não gosto da sua linguagem de template. Eu preciso usá-la?<a class=\"heading-anchor\" href=\"#i-can-t-stand-your-template-language-do-i-have-to-use-it\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Nós pensamos que nosso mecanismo de template é a melhor do mundo mas, reconhecemos que escolher uma linguagem de template é quase como escolher uma religião. Django não força nenhuma linguagem de template, então se você gosta de: Jinja2, Mako ou qualquer outra, sinta-se livre para utilizá-las.</p>\n</section>\n<section id=\"do-i-have-to-use-your-model-database-layer\">\n<h2>Eu tenho que usar o seu modelo/camada de banco de dados?<a class=\"heading-anchor\" href=\"#do-i-have-to-use-your-model-database-layer\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Não. Tal qual o sistema de template, a camada de modelos/banco de dados é desacoplada do resto da estrutura.</p>\n<p>A única exceção é: se você usar uma biblioteca diferente de banco de dados você não conseguirá usar o admin do Django gerado de forma automática. Ele é fortemente acoplado a camada de banco de dados do Django</p>\n</section>\n<section id=\"how-do-i-use-image-and-file-fields\">\n<h2>Como eu utilizo campos de imagem e de arquivo?<a class=\"heading-anchor\" href=\"#how-do-i-use-image-and-file-fields\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Usando um <a class=\"reference internal\" href=\"/pt-br/1.9/ref/models/fields/#django.db.models.FileField\" title=\"django.db.models.FileField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">FileField</span></code></a> ou um <a class=\"reference internal\" href=\"/pt-br/1.9/ref/models/fields/#django.db.models.ImageField\" title=\"django.db.models.ImageField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ImageField</span></code></a> em um modelo, seguido pelos passos:</p>\n<ol class=\"arabic simple\">\n<li><p>Em seu arquivo de configurações, você vai precisar definir <a class=\"reference internal\" href=\"/pt-br/1.9/ref/settings/#std-setting-MEDIA_ROOT\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">MEDIA_ROOT</span></code></a> com o caminho completo para o diretório onde você gostaria que o Django fizesse o upload de seus arquivos. (Para performance, esses arquivos não são armazenados no banco de dados.) Define <a class=\"reference internal\" href=\"/pt-br/1.9/ref/settings/#std-setting-MEDIA_URL\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">MEDIA_URL</span></code></a> como a URL pública desse diretório. Tenha certeza que esse diretório seja gravável pelo usuário da conta referente ao servidor Web.</p></li>\n<li><p>Adicione a classe <a class=\"reference internal\" href=\"/pt-br/1.9/ref/models/fields/#django.db.models.FileField\" title=\"django.db.models.FileField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">FileField</span></code></a> ou <a class=\"reference internal\" href=\"/pt-br/1.9/ref/models/fields/#django.db.models.ImageField\" title=\"django.db.models.ImageField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ImageField</span></code></a> no seu modelo, definindo a opção <a class=\"reference internal\" href=\"/pt-br/1.9/ref/models/fields/#django.db.models.FileField.upload_to\" title=\"django.db.models.FileField.upload_to\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">upload_to</span></code></a> para especificar o subdiretório da configuração <a class=\"reference internal\" href=\"/pt-br/1.9/ref/settings/#std-setting-MEDIA_ROOT\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">MEDIA_ROOT</span></code></a> para usar para arquivos enviados.</p></li>\n<li><p>Tudo que vai ser armazenado no seu banco de dados será o caminho para o arquivo (referente a configuração <a class=\"reference internal\" href=\"/pt-br/1.9/ref/settings/#std-setting-MEDIA_ROOT\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">MEDIA_ROOT</span></code></a>). Você vai poder usar o atributo <a class=\"reference internal\" href=\"/pt-br/1.9/ref/models/fields/#django.db.models.fields.files.FieldFile.url\" title=\"django.db.models.fields.files.FieldFile.url\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">url</span></code></a> provido pelo Django. Por exemplo, se sua classe <a class=\"reference internal\" href=\"/pt-br/1.9/ref/models/fields/#django.db.models.ImageField\" title=\"django.db.models.ImageField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ImageField</span></code></a> se chama <code class=\"docutils literal notranslate\"><span class=\"pre\">mug_shot</span></code>, você pode pegar o caminho absoluto para sua imagem no template com: <code class=\"docutils literal notranslate\"><span class=\"pre\">{{</span> <span class=\"pre\">object.mug_shot.url</span> <span class=\"pre\">}}</span></code>.</p></li>\n</ol>\n</section>\n<section id=\"how-do-i-make-a-variable-available-to-all-my-templates\">\n<h2>Como eu torno uma variável disponível para todos os meus templates?<a class=\"heading-anchor\" href=\"#how-do-i-make-a-variable-available-to-all-my-templates\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>As vezes todos os seus templates precisam das mesmas coisas. Um exemplo comum seria menus gerados dinamicamente. Em uma primeira olhada parece lógico simplesmente adicionar um dicionário comum ao contexto do template.</p>\n<p>A solução correta é usar um <code class=\"docutils literal notranslate\"><span class=\"pre\">RequestContext</span></code>. Detalhes em como utilizá-lo:  <a class=\"reference internal\" href=\"/pt-br/1.9/ref/templates/api/#subclassing-context-requestcontext\"><span class=\"std std-ref\">Subclassing Context: RequestContext</span></a>.</p>\n</section>","rootId":"faq-using-django","toc":[{"title":"Por que recebo um erro sobre importar o DJANGO_SETTINGS_MODULE?","anchor":"why-do-i-get-an-error-about-importing-django-settings-module","children":[]},{"title":"Eu não gosto da sua linguagem de template. Eu preciso usá-la?","anchor":"i-can-t-stand-your-template-language-do-i-have-to-use-it","children":[]},{"title":"Eu tenho que usar o seu modelo/camada de banco de dados?","anchor":"do-i-have-to-use-your-model-database-layer","children":[]},{"title":"Como eu utilizo campos de imagem e de arquivo?","anchor":"how-do-i-use-image-and-file-fields","children":[]},{"title":"Como eu torno uma variável disponível para todos os meus templates?","anchor":"how-do-i-make-a-variable-available-to-all-my-templates","children":[]}],"breadcrumbs":[{"docname":"faq/index","title":"Django - Perguntas e dúvidas frequentes.","url":"/pt-br/1.9/faq/"}],"prev":{"docname":"faq/install","title":"FAQ: Instalação","url":"/pt-br/1.9/faq/install/"},"next":{"docname":"faq/help","title":"FAQ: Obtendo ajuda","url":"/pt-br/1.9/faq/help/"},"formats":{"html":"/pt-br/1.9/faq/usage/","markdown":"/pt-br/1.9/faq/usage.md","json":"/pt-br/1.9/faq/usage.json"},"source":"https://github.com/django/django/blob/stable/1.9.x/docs/faq/usage.txt","official":"https://docs.djangoproject.com/pt-br/1.9/faq/usage/","inVersions":["6.1","6.0","5.2","5.1","5.0","4.2","4.1","4.0","3.2","3.1","3.0","2.2","2.1","2.0","1.11","1.10","1.9"],"inLocales":["en","fr","ja","id","pt-br","es"]}