Ver Mensaje Individual
  #2 (permalink)  
Antiguo 14/07/2014, 15:20
Avatar de razpeitia
razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: Consideraciones para hacer un app de django Open Source

Bueno no se necesita ser un experto para asumir que si te preocupa la seguridad y quieres hacer tu proyecto *open source*, lo mas seguro es que estés hardcodeando valores en tus settings.py. Tengo que admitirlo es un error muy frecuente.

La solución que te dan en 2scoops of django, es muy simple. Pon ese tipo de datos sensibles en variables de entorno y listo. Regularmente esas variables de entorno las pongo en el virtuanenv cuando estoy trabajando en local y el producción dependiendo de como hagas deploy hay maneras sencillas de ponerlas.

Código Python:
Ver original
  1. # settings.py
  2.  
  3. import os
  4. def get_env_variable(var_name):
  5.     """ Get the environment variable or return exception """
  6.     try:
  7.         return os.environ[var_name]
  8.     except KeyError:
  9.         error_msg = "Set the %s environment variable" % var_name
  10.         raise ImproperlyConfigured(error_msg)
  11.  
  12. # ...
  13. SECRET_KEY = get_env_variable('SECRET_KEY')


Para los datos de la base de datos, también hago lo mismo pero usando dj-database-url, muy sencillo de usar.

Y por ultimo también ajusto la variable DJANGO_SETTINGS_MODULE, que como puedes ver en manage.py es la que usa para ubicar tu settings.py. Y así poder tener diferentes settings.

Esto de configurar tu proyecto es casi todo un arte. En 2scoops of django, fácilmente te explican esto a detalle en los primeros 5 capítulos. (No es broma http://twoscoopspress.org/products/t...-of-django-1-6 )