{"id":16415407,"url":"https://github.com/django-dev-br/004-django5-dot-env-file","last_synced_at":"2025-10-26T19:31:35.726Z","repository":{"id":254632893,"uuid":"847106257","full_name":"Django-Dev-Br/004-django5-dot-env-file","owner":"Django-Dev-Br","description":"Arquivo especial de segurança que contém senhas e outras informações confidenciais","archived":true,"fork":false,"pushed_at":"2024-10-08T18:32:14.000Z","size":69,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-10T00:42:34.965Z","etag":null,"topics":["django","django-framework","dotenv","dotenv-loader","python"],"latest_commit_sha":null,"homepage":"https://django.dev.br/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Django-Dev-Br.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-24T21:37:52.000Z","updated_at":"2024-10-08T18:32:35.000Z","dependencies_parsed_at":"2024-10-11T07:04:08.418Z","dependency_job_id":"f5642798-3445-4a95-84c0-2384fce8eb05","html_url":"https://github.com/Django-Dev-Br/004-django5-dot-env-file","commit_stats":null,"previous_names":["django-dev-br/004-django-4-dot-env-file","django-dev-br/004-django5-dot-env-file"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Django-Dev-Br%2F004-django5-dot-env-file","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Django-Dev-Br%2F004-django5-dot-env-file/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Django-Dev-Br%2F004-django5-dot-env-file/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Django-Dev-Br%2F004-django5-dot-env-file/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Django-Dev-Br","download_url":"https://codeload.github.com/Django-Dev-Br/004-django5-dot-env-file/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238394323,"owners_count":19464583,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["django","django-framework","dotenv","dotenv-loader","python"],"created_at":"2024-10-11T07:04:14.862Z","updated_at":"2025-10-26T19:31:35.382Z","avatar_url":"https://github.com/Django-Dev-Br.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# 004 Django 5 - Arquivo .env \n\n### O que é e para que serve o arquivo .env?\n\nO arquivo .env é um arquivo de texto simples que armazena variáveis de ambiente usadas por uma aplicação para configurar suas operações. Em projetos Django, ele é amplamente utilizado para armazenar informações sensíveis e configurações específicas do ambiente, como a SECRET_KEY, configuração de DEBUG, credenciais de banco de dados, de API's e outras variáveis importantes que não devem ser compartilhadas publicamente.\n\n## COMO RODAR ESSE PROJETO EM SEU COMPUTADOR:\n\n### Requisitos\n\n- **Python 3.12 com PIP e venv**\n- **o Django 5 requer Python 3.10 ou superior.**\n\n- **No [repositório 001](https://github.com/Django-Dev-Br/001-django5-basic-project) há explicações sobre PIP e venv**\n\n  [Baixar Python 3.12](https://www.python.org/downloads/release/python-3122/)\n\n  Confira o vídeo para saber como trabalhar com múltiplas versões do Python e com venv (ambiente virtual):  \n  [![Watch the video](https://img.youtube.com/vi/eetDeQrv0Rs/0.jpg)](https://youtu.be/eetDeQrv0Rs)\n\n\n### Passos para Executar\n\n1. **Clone o repositório**:\n    ```bash\n    git clone https://github.com/Django-Dev-Br/004-django5-dot-env-file.git\n  \n    ```\n\n2. **Crie um ambiente virtual**:\n   \n    **Windows**\n    ```bash\n     python -m venv myvenv  \n    ```\n   **Linux**\n    ```bash\n     python3 -m venv myvenv  \n    ```\n\n3. **Ative o ambiente virtual criado**:\n   \n    **Windows**\n    ```python\n    myvenv\\Scripts\\activate  \n    ```\n\n   **Linux**\n    ```python\n    source myvenv/bin/activate  \n    ```\n\n4. **Acesse a Pasta do Projeto**:\n   \n    ```bash\n    cd 004-django5-dot-env-file\n    ```\n    \n5. **Instale o Django**:\n\n   Fazer a instalação após a ativação da virtual env fará com que a instalação seja feita nessa pasta ao invés do computador. Isso significa que o pacote Django não estará disponivel para todos os usuários do computador, mas apenas para o contexto no qual essa venv esteja ativada. Veremos sua ativação logo abaixo.\n\n    **Instalação manualmente via gerenciador de dependências PIP**\n    ```bash\n    pip install django\n    ```\n    - use, preferencialmente, a versão 5.1. Para tanto, execute o comando:\n\n     ```bash\n    pip install  \"django\u003e=5.1,\u003c=5.2\"\n    ```\n\n    ----- **OU** -----\n\n    **Instalação via arquivo requirements**\n    ```bash\n    pip install -r requirements.txt\n    ```\n    O arquivo requirements.txt é um arquivo de texto que contém uma lista de pacotes a ser instalado em uma venv. É uma boa prática de programação do ecossistema Python.\n\n    \n6. **Instale a Biblioteca Python Dotenv**:\n\n  Este projeto utiliza a biblioteca `python-dotenv` para carregar as configurações do arquivo `.env`. Instale-a com o comando:\n\n  ```bash\n  pip install python-dotenv\n  ```\n\n7. **Crie o arquivo `.env` manualmente no diretório root do projeto**:\n\n    **Linux**\n    ```python\n    touch .env  \n    ```\n    \n    **Windows**\n    ```python\n    echo. \u003e .env  \n    ```\n   \n8. **Adicione ao .env as configurações variáveis a seguir**:\n\n    Para gerar uma `SECRET_KEY`, execute o seguinte comando no terminal:\n\n    ```bash\n    python -c \"from django.core.management.utils import get_random_secret_key; print(get_random_secret_key())\"\n    ```\n\n    Copie e cole a senha gerada no local indicado abaixo no seu arquivo .env:\n   \n   ```plaintext\n    SECRET_KEY=sua_chave_secreta_aqui\n    ```\n\n9. **Execute o servidor de desenvolvimento**:\n    \n    ```python\n    python manage.py runserver\n    ```\n     Após executar o servidor de desenvolvimento, você pode acessar o Django no seguinte endereço:\n\n      [http://127.0.0.1:8000/admin/](http://127.0.0.1:8000/)\n\n### Configurações do settings.py para usar SECRET_KEY do arquivo .env\n\n  Adicione o seguinte código no início do arquivo `settings.py` para carregar a `SECRET_KEY` do arquivo `.env`:\n  \n  ```python\n  # Usado para interagir com o sistema operacional, especificamente para recuperar variáveis de ambiente.\n  import os\n  # Facilita o trabalho com caminhos de arquivos e diretórios.\n  from pathlib import Path\n  \n  from dotenv import load_dotenv\n  \n  # Carrega as variáveis de ambiente definidas no arquivo .env.\n  load_dotenv()\n  \n  # Build paths inside the project like this: BASE_DIR / 'subdir'.\n  BASE_DIR = Path(__file__).resolve().parent.parent\n  \n  \n  # SECURITY WARNING: keep the secret key used in production secret!\n  SECRET_KEY = os.getenv('SECRET_KEY')\n  ```\n\n### Estrutura de Diretórios do Projeto\n\n```\n004-django5-env-example/\n├── .env                  # Arquivo contendo a SECRET_KEY e DEBUG=True\n├── .gitignore            # Arquivo que especifica quais arquivos e diretórios o Git deve ignorar\n├── myproject/\n│   ├── __init__.py       # Marca o diretório como um pacote Python\n│   ├── asgi.py           # Configurações para o servidor ASGI (usado para aplicações assíncronas)\n│   ├── settings.py       # Configurações do projeto, incluindo uso do arquivo .env\n│   ├── urls.py           # Mapeamento de requisições HTTP e redirecionamento para os templates HTML\n│   └── wsgi.py           # Configurações para o servidor WSGI (usado para servir a aplicação)\n└── manage.py             # CLI do Django, um script de linha de comando para tarefas administrativas do Django\n└── requirements.txt    # Lista de pacotes Python necessários para o projeto\n```\n\n\n### OBS: Como Criar um Projeto Django\n\nSe desejar criar seu próprio projeto Django, use o seguinte comando após criar e ativar a virtual env e instalar o django nela, conforme orientações acima:\n\n```python\ndjango-admin startproject myproject\n```\n\n### Sobre Nosso Treinamento Prático-Profissional com projeto real para iniciantes e avançados em web DevOps Full-stack com Python, Django, Bootstrap e Linux.\n\n[Django Developers Brasil - Aprenda programando enquanto programa aprendendo!](https://django.dev.br/)\n\nNosso treinamento oferece uma experiência prática de aprendizado de programação, adequada tanto para iniciantes quanto para desenvolvedores avançados. Você participará de um projeto real de desenvolvimento de software em um ambiente corporativo autêntico, onde pessoas com diferentes níveis de conhecimento irão colaborar, aprendendo umas com as outras.\n\n**Junte-se a nós!** E desenvolva as habilidades necessárias para o mercado de trabalho, aprimorando tanto seus conhecimentos técnicos quanto suas soft skills em um ambiente colaborativo e realista.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdjango-dev-br%2F004-django5-dot-env-file","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdjango-dev-br%2F004-django5-dot-env-file","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdjango-dev-br%2F004-django5-dot-env-file/lists"}