Foros del Web » Programando para Internet » Python »

Consideraciones para hacer un app de django Open Source

Estas en el tema de Consideraciones para hacer un app de django Open Source en el foro de Python en Foros del Web. Hola todos. Desde hace meses utilizo un pequeño app que desarrollé en Django para organizarme y saber cuánto tiempo le dedico a la programación. Creo ...
  #1 (permalink)  
Antiguo 14/07/2014, 15:32
Avatar de stormearth  
Fecha de Ingreso: octubre-2013
Ubicación: Quito
Mensajes: 68
Antigüedad: 6 años
Puntos: 2
Pregunta Consideraciones para hacer un app de django Open Source

Hola todos. Desde hace meses utilizo un pequeño app que desarrollé en Django para organizarme y saber cuánto tiempo le dedico a la programación. Creo que podría ser útil para cualquiera que no tenga jefes y quiera algo de feedback sobre su auto-disciplina.

Quisiera abrir el código y ponerlo disponible en Internet, luego hostear el app en Heroku (yo pagaría el hosting, me parece barato unos pocos dólares mensuales), así, cualquier persona que quiera usar el app solo tendría que visitar la página.

Nunca he hecho algo Open-Source. El código respeta PEP8. Me preocupan temas de seguridad, y bueno, si alguien lo ha hecho antes son bienvenidos los consejos.

Busco colaboradores también.
  #2 (permalink)  
Antiguo 14/07/2014, 16:20
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 14 años, 7 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 )

Etiquetas: django, opensource
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:47.