SciELO - Scientific Electronic Library Online

 
 issue7Cloud computing contribuye al uso eficiente de la energíaSincronización de navegadores con la nube author indexsubject indexarticles search
Home Pagealphabetic serial listing  

Services on Demand

Article

Indicators

    Related links

    • Have no cited articlesCited by SciELO
    • Have no similar articlesSimilars in SciELO

    Bookmark

    Revista de Información, Tecnología y Sociedad

    Print version ISSN 1997-4044

    RITS  no.7 La Paz Nov. 2012

     

    Artículo

     

    Phython - DjangoFramework de desarrollo web para perfeccionistasBasado en el Modelo MTV

     

     

    José Luis Condori Ayala
    Universidad Mayor de San Andrés
    Facultad de Ciencias Puras y Naturales
    Carrera Informática
    Simulación de Sistemas
    Joselucho2004@yahoo.es

     

     


    RESUMEN

    En el presente artículo se dará a conocer el poder del Framework DJANGO que hoy en día está siendo usado por grandes compañías a nivel mundial, como es la arquitectura de trabajo, el modelo en el que está basado, sus ventajas y orígenes.

    Palabras Clave

    Vista, Controlador, Plantilla , Modelo, Framework, Django, Python, Pragmático, Desarrollo, Variable


     

     

    1. INTRODUCCIÓN

    El crecimiento de Python es cada vez mayor y esto se ha hecho más notorio en los últimos años, con la aparición de herramientas que hacen el trabajo más simple y eficiente con este lenguaje de programación. Una de esas herramientas es Django, el framework hecho en python para perfeccionistas.[1]

     

    2. VENTAJAS DE DJANGO

    Aparte de las ventajas que tiene por ser framework, Django promueve el desarrollo rápido, se construyen aplicaciones en cuestión de días y con el conocimiento suficiente esos días se pueden reducir a horas.

    Django impulsa el desarrollo de código limpio al promover buenas prácticas de desarrollo web, sigue el principio DRY (conocido también como Una vez y sólo una).[1]

    Django usa una modificación de la arquitectura Modelo-Vista-Controlador (MVC), llamada MTV (Model - Template - View), que sería Modelo-Plantilla-Vista, está forma de trabajar permite que sea pragmático.

     

    3. DJANGO Y MTV

    Django se suele llamar un framework MVC, y con razón. Es muy fuerte mente influenciado por MVC y es incluso posible argumentar que la terminología MVC es el único lugar patrón de cambios en Django. En Django, las tres capas básicas son el modelo, la vista, y la plantilla.

    Se podría clasificar a Django como parte de la tercera generación del desarrollo web.

    Sin embargo más allá de las clasificaciones que podrían existir, está el entender cómo funciona realmente, al entenderlo se puede llegar a dominarlo. Esto se debe a que los desarrolladores no tuvieron la intención de seguir algún patrón de desarrollo, sino hacer el framework lo más funcional posible.

    Para empezar a entender MTV debemos fijarnos en la analogía con MVC.

    El modelo en Django sigue siendo modelo
    La vista en Django se llama Plantilla (Template)
    El controlador en Django se llama Vista


    Una imagen nos hará entender mejor esta relación:

    El Navegador manda una solicitud
    La vista interactúa con el modelo para obtener datos.
    La vista llama a la plantilla.
    La plantilla renderiza la respuesta a la solicitud del navegador
    Veamos que hace cada uno de ellos con un poco más de detalle y algunos conceptos adicionales.

    3.1. El modelo

    El modelo define los datos almacenados, se encuentra en forma de clases de Python, cada tipo de dato que debe ser almacenado se encuentra en una variable con ciertos parámetros, posee métodos también. Todo esto permite indicar y controlar el comportamiento de los datos.

    3.2. La vista

    La vista se presenta en forma de funciones en Python, su propósito es determinar qué datos serán visualizados, entre otras cosas más. El ORM de Django permite escribir código Python en lugar de SQL para hacer las consultas que necesita la vista. La vista también se encarga de tareas conocidas como el envío de correo electrónico, la autenticación con servicios externos y la validación de datos a través de formularios. Lo más importante a entender con respecto a la vista es que no tienenada que ver con el estilo de presentación de los datos, sólo se encarga de los datos, la presentación es tarea de la plantilla.

    3.3. La plantilla

    La plantilla es básicamente una página HTML con algunas etiquetas extras propias de Django, en si no solamente crea contenido en HTML (también XML, CSS, Javascript, CSV, etc).

     

    4. ORIGEN DE DJANGO

    Django nace como un proyecto para publicación de noticias de Lawrence Journal-World(Revista de publicación de noticias), lo interesante de Django es que desde un principio fue construido como una herramienta para resolver problemas reales en un entorno empresarial, fue diseñado para optimizar el tiempo de desarrollo y los requerimientos exigentes de los desarrolladores web.

    El nombre de Django es en honor al famoso músico de Jazz frances Django Reinhardt.

     

    5. QUIENES USAN DJANGO

    dpaste.com
    The Washington post (en parte) Bitbucket.org
    Disqus Instagram Pinterest
    michaelmoore. com
    theguardian
    lawrence.com
    curse
    The New York Times (represent project)
    Fluendo

     

    6. DJANGO EN AMÉRICA LATINA

    En américa latina las experiencias con Django también están presentes, en la mayoría de países ya se han hecho implementaciones y desarrollo con este estupendo framework. Por ejemplo en el Campus Party de Colombia del 2010 se dio esta presentación del mismo dando a conocer que django es una herramienta novedosa de última generación y que pretende alcanzar un nivel muy alto de desarrollo no solo en latino américa sino en todo el mundo.

     

    7.CONCLUSIONES

    Python - Django tiene unas propiedades únicas, como ser el desarrollo ágil, ya que con esta herramienta podemos construir un sistema web en cuestión de días, es una herramienta de tercera generación, trabaja en base a un modelo de desarrollo MTV, es una herramienta para profesionales perfeccionistas que buscan la funcionalidad en un 100%, sinceramente espero que les haya servido y les haya dado esa iniciativa que quizás les faltaba para utilizar esta genial herramienta.

     

    8.REFERENCIAS

    [1]Django en Español http://django.es/        [ Links ]

    [2]Documentación Oficial del Proyecto https://docs.djangoproject.com/en/1.4/        [ Links ]