Como hacer un project_template de django

Algo muy discutido de vez en vez, lo se bien por que uso django desde la versión 1.1, es por que el  settings.py esta tan escuálido. Siempre, te tardas los primeros 5 minutos rellenando el settings. Es poco tiempo, pero la gente se queja de por que no tiene un par mas de cosas ya pre-configuradas. Dale gracias a dios que no es como los antiguos frameworks Java que tenia que configurar durante horas, -como, ¿que aun se hace con xmls?… java, !ya muérete!-.

Bueno la respuesta es sencilla,  no es ruby on rails, ni nodejs…  Lo siento, pero python sigue directa o indirectamente el Zen de python y su segundo “mandamiento” es “Explicit is better than implicit”  por esto, en django, en algún lado siempre deben estar escritas las configuraciones. Aquí no pasa nada mágico, todo esta establecido y esta establecido con lo mínimo. Por que es mejor agregarle las lineas que necesitas que  quitarle un montón de lineas que no necesitas.

Si usas django como un webservices tu settings se vera diferente a como se vería si lo usas para una webapp y diferente a si creas una sistema intranet.   También se vera diferente si almacenas tus archivos staticos en amazon s3, en un apache o en cualquier otro tipo de servidor.  Por eso el settings de django viene con lo que prácticamente no vas a cambiar u que obligatoriamente vas a definir, como la conexión a la base de datos.

  1. Lo que nunca te dicen y que curiosamente no viene en la documentación es que puedes crear tu project_template. Si te dedicas a crear paginas webs y siempre usas las mismas apps y casi el mismo css y tu settings siempre es el mismo.  puedes dedicarle 20 minutos de tu vida a crearte tu propio project_template.
  2. Crea un proyecto django con  django_admin.py startproject
  3. Agrega todo lo que agregas normalmente, por ejemplo: apps como django-storages o django-constants,  crea tu estructura de archivos, agrega tus statics y tu template base.html.
  4. Renombra la carpeta del settings con  project_template
  5. (opcional) Modifica la extensión de manage.py, settings.py, wsgi.py, urls.py por  .py-tpl
  6. Edita estos archivos y cambia donde va el nombre del proyecto por {{ project_name }}
  7. Edita el SECTER_KEY en el settings con {{ secret_key }}
  8. (opcional) Crea un archivo README.md y REQUERIMENTS
  9. Subelo a github
  10. Usa tu template con  django-admin.py startproject –template=https://github.com/<tu_usuario>/<tu_template>/archive/master.zip <tu_proyecto>

 

Realmente sencillo, incluso hay varios que ya existen en github…  pero es mejor hacerse el propio, no tardas ni 20 minutos. Yo por ejemplo  tengo mi project_template para django 1.10. El cual uso para hacer paginas webs, solo tengo 3 apps  django-compressor  para manejar el css,  django-htmlmin para reducir el html, django-storages para poner mi static en amazon s3.

Martin Quinta

Crecí con una computadora desde el kinder. Empece a programar a los 14 y hoy, mas de una década después… realmente odio estar frente a una computadora. Pero programar es en lo que soy bueno, por lo tanto me desahogo en este blog mientras bebo cerveza artesanal y pienso en un mundo bonito donde Java no existe.

Facebook Twitter LinkedIn  

Entradas relacionadas:

Un comentario en: “Como hacer un project_template de django

Leave a Reply

Your email address will not be published. Required fields are marked *