Escolar Documentos
Profissional Documentos
Cultura Documentos
Alternativas:
Honcho
django-dotenv
django-environ
django-environ-2
django-configuration
dump-env
environs
dynaconf
parse_it
Link: https://pypi.org/project/python-dotenv/
Exemplo:
Variáveis de Ambiente 1
EMAIL=leticiateste@gmail.com
NAME_DB=db.sqlite3
USER_DB=root
PASSWORD_DB=
HOST_DB=localhost
PORT_DB=3306
EMAIL_HOST=smtp.office365.com
EMAIL_HOST_USER=email@hotmail.com
EMAIL_HOST_PASSWORD=sua_senha
EMAIL_PORT=587
EMAIL_USE_TLS=True
DEFAULT_FROM_EMAIL=email@hotmail.com
SERVER_EMAIL=DEFAULT_FROM_EMAIL
Sempre envio um arquivo exemplo (sem as informações reais) como esse exemplo
“_env” no commit. Assim quando eu abaixo o repositório eu preencho somente as
informações e renomeio o arquivo para “.env”. Lembrando o arquivo “.env” não vai nos
commits. Essa informação deve estar no .gitignore. Caso for um servidor real ai você
cria esse arquivo no servidor.
Eu costumo fazer assim, para todos os apps que a gente criar no django eu coloco em
uma pasta “apps”. Só que a gente precisa dizer isso no projeto para procurar nossos
aplicativos na pasta “apps”. Então já vou deixar configurado aqui no core/settings.py.
Junto com as outras configurações.
projeto/
├── apps/
│ ├── base/
│ │ ├── migrations/
│ │ ├── static/
│ │ │ ├── css/
│ │ │ ├── js/
│ │ │ ├── fonts/
│ │ │ └── images/
│ │ ├── templates/
│ │ └── __init__.py
│ ├── myapp/
│ │ ├── migrations/
│ │ ├── templates/
│ │ └── __init__.py
│ └── __init__.py
├── core/
│ ├── settings.py
│ ├── urls.py
│ ├── asgi.py
│ └── wsgi.py
├── manage.py
└── requirements.txt
Configuração no core/settings.py
Variáveis de Ambiente 2
Nota que para chamar uma variavel no arquivo .env basta chamar a biblioteca
os.getenv('NAME_DB') e NAME_DB é nome da variavel que está no arquivo.
# importar a biblioteca
import os
import sys
from dotenv import load_dotenv
# DEBUG
DEBUG = os.getenv('DEBUG')
# Aplicativos do django
DJANGO_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
THIRD_APPS = [
...
]
PROJECT_APPS = [
'apps.base',
'apps.myapp',
]
INSTALLED_APPS = DJANGO_APPS + THIRD_APPS + PROJECT_APPS
# Banco de Dados.
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, os.getenv('NAME_DB')),
#'USER':os.getenv('USER_DB')
#'PASSWORD': os.getenv('PASSWORD_DB')
#'HOST':os.getenv('HOST_DB')
#'PORT':os.getenv('PORT_DB')
}
}
Variáveis de Ambiente 3
Variáveis de Ambiente 4