Gerador de Django SECRET_KEY
Uma chave de 50 caracteres no formato exato que o Django espera, pronta para copiar para o seu .env.
Atualizado em por Alexandre Klostermann
50 caracteres, mesmo alfabeto de get_random_secret_key(). Gerada no seu navegador; nada é enviado.
Como configurar a SECRET_KEY
Nunca deixe a chave escrita no settings.py de um repositório. Leia de uma variável de ambiente:
# settings.py
import os
SECRET_KEY = os.environ["DJANGO_SECRET_KEY"]E defina a variável no ambiente ou em um arquivo .env que esteja no .gitignore:
# .env
DJANGO_SECRET_KEY=cole-a-chave-gerada-aquiGerando pelo terminal
Se já tiver o Django instalado, o próprio framework gera a chave:
python -c "from django.core.management.utils import get_random_secret_key; print(get_random_secret_key())"Esta página é útil quando você está em outra máquina, configurando um deploy no painel de um provedor ou ainda não tem o ambiente Python pronto.
Boas práticas
- Uma chave diferente para cada ambiente: local, homologação e produção.
- Se a chave vazou ou foi commitada por engano, gere outra e troque imediatamente.
- Mantenha
DEBUG = Falseem produção. Com DEBUG ligado, páginas de erro podem expor configurações.
Perguntas frequentes
Para que serve a SECRET_KEY do Django?
O Django usa a SECRET_KEY para assinar cookies de sessão, tokens de redefinição de senha, mensagens e qualquer dado que precise de assinatura criptográfica. Quem tiver a chave consegue forjar sessões e se passar por outros usuários.
A chave gerada aqui é igual à do Django?
Sim. A ferramenta usa o mesmo alfabeto e o mesmo comprimento de 50 caracteres da função get_random_secret_key(), que o Django chama ao criar um projeto com startproject.
Posso usar a mesma chave em desenvolvimento e produção?
Não é recomendado. Use uma chave por ambiente e carregue a de produção a partir de variável de ambiente ou de um gerenciador de segredos. A chave nunca deve ser commitada no repositório.
O que acontece se eu trocar a SECRET_KEY em produção?
Todas as sessões ativas são invalidadas e os usuários precisam entrar de novo. Links de redefinição de senha já enviados deixam de funcionar. Se precisar rotacionar sem derrubar sessões, use a configuração SECRET_KEY_FALLBACKS, disponível a partir do Django 4.1.