La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Mi Experiencia Personal

Presentaciones similares


Presentación del tema: "Mi Experiencia Personal"— Transcripción de la presentación:

1 Mi Experiencia Personal
Django Mi Experiencia Personal Lic. Javier Roa Benítez

2 Django. Mi experiencia Personal
Mi encuentro con Python Vengo de ….. RPG400 Genexus ASP Visual Basic No me gustan: C en (cualquiera de sus formas) Java

3 Django. Mi experiencia Personal
Mi encuentro con Python Estaba Trabajando por cerca de este lugar, en Republica Dominicana Y me ATRAPO … Python

4 Django. Mi experiencia Personal
Mi encuentro con Python Porque quede atrapado? La curva de aprendizaje era extremadamente rápida Al fin incorporaba a mis habilidades un lenguaje que me permitía programar para Linux (sin que sea C ni Java) Siempre que quería hacer algo ya había una librería que me ayudaba a hacerlo Encontré una comunidad MARAVILLOSA, que respondia a tooodas mis preguntas en menos de 10 minutos…. PyAr(Python Argentina)

5 Django. Mi experiencia Personal
Finalmente Mi encuentro con Había un proyecto en puerta Debía ser en ambiente WEB Lo que yo mas conocía era ASP Los clientes no querían saber nada de Windows, mas por las licencias Había que encontrar una herramienta de desarrollo rapido Yo ya conocía Python Entonces….. Lei sobre Frameworks basados en Python Y.. Django me pareció el mas interesante, porque: Habia mucha informacion Habia una comunidad formada y muy colaborativa

6 Django. Mi experiencia Personal
Mis primeros pasos con Leyendo el Tutorial de Django Peleando con el paradigma Modelo/Vista/Controlador Tratando de comprender la programacion Orientada a Objetos Siguiendo al pie de la letra el Tutorial sin comprender muy bien lo que hacia

7 Django. Mi experiencia Personal
Generalidades El paradigma MVC (Modelo/Vista/Controlador) Django lo resuelve como MTV M- Modelo: Para la conexión con bases de datos T - Plantilla o Témplate: Para Mostrar los Resultados V – Vista: Para gestionar los datos y presentarlos

8 Django. Mi experiencia Personal
Generalidades El Modelo

9 Django. Mi experiencia Personal
Generalidades La Plantilla o Template

10 Django. Mi experiencia Personal
Generalidades La Vista

11 Django. Mi experiencia Personal
Generalidades El Modulo URL

12 Django. Mi experiencia Personal
Proceso Petición de Pagina: Búsqueda en URL de Función a ejecutar Ejecución de Función en Vista: Invocación a la Plantilla: Resultado:

13 Django. Mi experiencia Personal
URL Particularidades: Los llamados se definen dentro de un “urlpatterns”, que es una TUPLA y puede contener hasta un máximo de 250llamados, pueden haber mas de un “urlpatterns” en el modulo URL

14 Django. Mi experiencia Personal
URL Particularidades: Se puede definir el ID de un objeto como parametro de un URL de esta manera: r'^usuarios_clave_(?P<object_id>\d+)/$',chgp_usuario), En este caso ya se trasmite una clave y la recepcion de la misma en la funcion se hace de esta manera: def chgp_usuario(request, object_id): Esto al principio es muy comodo, pero es objetado muchas veces pues es muy visible la clave con el que se esta trabajando

15 Django. Mi experiencia Personal
El Modelo El Modelo es uno de los componentes mas importantes de Proyecto Entre sus particularidades esta que no se puede hacer referencia de clave foranea a un objeto que aun no esta definido Por lo expresado se debe tener mucho cuidado en el diseño Se supone que el Modelo se escribe solamente despues de haber concluido totalmente el Analisis del Sistema a Desarrollar Perooooo… Todos sabemos que no es asi…. Por lo tanto tenemos que ser muy cuidadosos a la hora de modificar , sobre todo en las referencias a claves foraneas

16 Django. Mi experiencia Personal
El Modelo La escritura del Modelo es para mi lo mas tedioso que existe Por ello construí mi propia herramienta para no escribir tanto

17 Django. Mi experiencia Personal
El Modelo- La Herramienta

18 Django. Mi experiencia Personal
La Plantilla Quieres hacer calculos en ella…. Olvidalo , para eso esta la vista Algunas Herramientas que ayudan: Condicionantes: if/ifequal/else En los bucles: forloop.first, forloop.last, forloop.counter Trabajando con valores: divisibleby, default, lengt_is Formateando valores: intpoint, floatformat, date Uniendo plantillas: Include extends

19 Django. Mi experiencia Personal
La Vista Los parametros,generalmente son recibidos directamente en el request, aunque si se define object_id, tambien serecibe de esa forma La asignacion de un parametroauna variable se realiza mediante lafuncion : request.GET.get request.POST.get Dependiendo del tipo de form

20 Django. Mi experiencia Personal
La Vista Como en la mayoria de los casos los parametros pueden venir en forma indistinta (Get o Post), cree una funcion que resuelve este caso: def request_GET(request,campo): valor='' valor= request.GET.get(campo, '') if valor=='': valor= request.POST.get(campo, '') return valor Se invoca desde la funcion con: msg=request_GET(request,'msg')

21 Django. Mi experiencia Personal
La Vista Al invocar el template o html, devemos enviar objetos resultantes que permitiran mostrar los resultados en una paginapor medio de un diccionario: return render_to_response(“plantilla.html", { "titulo": titulo, "results": results, "query": query, "msg": msg, "b":b, "pag" : pag, "pag_ant" : pag_ant, "sis_nom": sis_nom}, context_instance=RequestContext(request))

22 Django. Mi experiencia Personal
La Vista Esta forma de envio hace que con cada nuevo valor que necesitamos enviar, tenemos que agregar un elemento a este diccionario Para resolver esto, lo que hago es definir un diccionario “par”y en el mismo cargo los valores y es el unico “parametro” que envio return render_to_response(“plantilla.html", { "par": par,} context_instance=RequestContext(request))

23 Django. Mi experiencia Personal
Donde esta cada modulo: Proyecto settings.py url.py aplicación models.py views.py templates xo1.html x02.html

24 Django. Mi experiencia Personal
Miscelaneas: El admin de Django es una herramienta excepcional, existen aplicaciones que el 80% estan basadas en el Admin, solo se programa diferente, lo muy especifico Bootstrap es una buena herramienta para el template general de los Sistema

25 PyPy(Python Paraguay)
Gracias Lic. Javier Roa Benítez Integrante de PyPy(Python Paraguay)


Descargar ppt "Mi Experiencia Personal"

Presentaciones similares


Anuncios Google