¿Cómo generar un secret key en Django?

A la hora de desplegar tu web, o servicios, por medio de Django en un servidor llega el momento de generar un secret key. Y lo más complejo posible. Fortalecerá la seguridad de tu sitio dejándote dormir por las noches como un bebé. En la red hay diferentes generadores online de esta clave, pero personalmente no me fío. ¿Quién dice que no se almacenan en una base de datos? Lo mejor es generar la clave directamente en tu equipo. No es tan complejo como aparenta.

Los pasos a seguir son sencillos.

1) Abre una ventana del terminal y crea un documento nuevo

touch generador_django.py

2) Edita el documento con tu editor favorito o por medio del terminal.

nano generador_django.py

y pega lo siguiente.

"""
Pseudo-random django secret key generator.
- Does print SECRET key to terminal which can be seen as unsafe.
"""

import string
import random

# Get ascii Characters numbers and punctuation (minus quote characters as they could terminate string).
chars = ''.join([string.ascii_letters, string.digits, string.punctuation]).replace('\'', '').replace('"', '').replace('\\', '')

SECRET_KEY = ''.join([random.SystemRandom().choice(chars) for i in range(50)])

print(SECRET_KEY)

3) Ejecuta el script

python3 generador_django.py

¡Y listo!

Se mostrará una cadena aleatoria de 50 carácteres.

_Z~I/9Vb8l#+~PtD>;PJPgW?eh^+_x#xyZ3x~D%%I<0mo-&Jq-

Ahora solo queda sustituirla en settings.py de Django.

Actualización (Erick Navarro)

Una forma rápida sería ejecutando en el terminal:

openssl rand -base64 32

Gracias ;)

Versión escritorio