martes, 12 de mayo de 2020

Introduccion a Django

Despues de haber revisado de manera concreta y haber analizado el video que la maestra nos proporciono pude concluir ciertas cosas  y me di a la tarea de investigar un poco mas acerca de DJANGO















Es tan popular entre los programadores que tiene su propio sitio web , podemos observar que la ultima version es la 3.0.6 la cual es la que instalamos para la version 3.8 de Python en el anterior ejercicio  
Pudimos obtener la siguiente informacion la cual nos puede llegar a ser muy util:

Django es un framework de desarrollo web de código abierto, escrito en Python, que respeta el patrón de diseño conocido como MVC (Modelo–Vista–Controlador). Fue desarrollado en origen para gestionar varias páginas orientadas a noticias de la World Company de Lawrence, Kansas, y fue liberada al público bajo una licencia BSD en julio de 2005; el framework fue nombrado en alusión al guitarrista de jazz gitano Django Reinhardt. En junio de 2008 fue anunciado que la recién formada Django Software Foundation se haría cargo de Django en el futuro.


La meta fundamental de Django es facilitar la creación de sitios web complejos. Django pone énfasis en el re-uso, la conectividad y extensibilidad de componentes, el desarrollo rápido y el principio No te repitas (DRY, del inglés Don't Repeat Yourself). Python es usado en todas las partes del framework, incluso en configuraciones, archivos, y en los modelos de datos.

Otras características de Django son:

Un mapeador objeto-relacional.
Aplicaciones "enchufables" que pueden instalarse en cualquier página gestionada con Django.
Una API de base de datos robusta.
Un sistema incorporado de "vistas genéricas" que ahorra tener que escribir la lógica de ciertas tareas comunes.
Un sistema extensible de plantillas basado en etiquetas, con herencia de plantillas.
Un despachador de URLs basado en expresiones regulares.
Un sistema "middleware" para desarrollar características adicionales; por ejemplo, la distribución principal de Django incluye componentes middleware que proporcionan cacheo, compresión de la salida, normalización de URLs, protección CSRF y soporte de sesiones.
Soporte de internacionalización, incluyendo traducciones incorporadas de la interfaz de administración.
Documentación incorporada accesible a través de la aplicación administrativa (incluyendo documentación generada automáticamente de los modelos y las bibliotecas de plantillas añadidas por las aplicaciones).

Django también es una plataforma habitual que brinda múltiples herramientas
Arquitectura
Aunque Django está fuertemente inspirado en la filosofía de desarrollo Modelo Vista Controlador, sus desarrolladores declaran públicamente que no se sienten especialmente atados a observar estrictamente ningún paradigma particular, y en cambio prefieren hacer "lo que les parece correcto". Como resultado, por ejemplo, lo que se llamaría "controlador" en un "verdadero" framework MVC se llama en Django "vista", y lo que se llamaría "vista" se llama "plantilla".

Gracias al poder de las capas mediator y foundation, Django permite que los desarrolladores se dediquen a construir los objetos Entity y la lógica de presentación y control para ellos.

Presentación
Aquí se maneja la interacción entre el usuario y el computador. En Django, esta tarea la realizan el motor de plantillas y el cargador de plantillas que toman la información y la presentan al usuario (vía HTML, por ejemplo). El sistema de configuración de URLs es también parte de la capa de presentación.

Control
En esta capa reside el programa o la lógica de aplicación en sí. En Django son representados por las vistas y los manipuladores. La capa de presentación depende de ésta y a su vez ésta depende de la capa de dominio.

Mediator
Es el encargado de manejar la interacción entre el subsistema Entity y foundation. Aquí se realiza el mapeo objeto-relacional a cargo del motor de Django.

Entity
El subsistema entity maneja los objetos de negocio. El mapeo objeto-relacional de Django permite escribir objetos de tipo entity de una forma fácil y estándar.

Foundation
La principal tarea del subsistema foundation es la de manejar a bajo nivel el trabajo con la base de datos. Se provee soporte a nivel de foundation para varias bases de datos y otras están en etapa de prueba.
Soporte de bases de datos
Respecto a la base de datos, la recomendada es PostgreSQL, pero también son soportadas MySQL y SQLite 3. Se encuentra en desarrollo un adaptador para Microsoft SQL Server. Una vez creados los modelos de datos, Django proporciona una abstracción de la base de datos a través de su API que permite crear, recuperar, actualizar y borrar objetos. También es posible que el usuario ejecute sus propias consultas SQL directamente. En el modelo de datos de Django, una clase representa un registro de una tabla en la base de datos y las instancias de ésta serán las tuplas en la tabla.

Soporte de servidores Web
Como mencionamos en los requisitos, Django incluye un servidor web liviano para realizar pruebas y trabajar en la etapa de desarrollo. En la etapa de producción, sin embargo, se recomienda Apache 2 con mod_python. Aunque Django soporta la especificación WSGI, por lo que puede correr sobre una gran variedad de servidores como FastCGI o SCGI en Apache u otros servidores (particularmente Lighttpd).

Requerimientos
Django requiere Python 2.5 o superior. No se necesitan otras bibliotecas de Python para poder obtener una funcionalidad básica. En un entorno de desarrollo –especialmente si queremos experimentar con Django—no necesitamos un web server instalado, ya que Django trae su propio servidor liviano para éste propósito, con la restricción de solo permitir un usuario a la vez..

Base de datos PostgreSQL, MySQL, Oracle o SQLite.

Otro dato muy importante que pudimos observar en el sitio oficial es que te da una buen introduccion y te ofrece practicas por si es que quieres iniciar a formar tus primeras aplicaciones con DJANGO

No hay comentarios:

Publicar un comentario

CRUD en Android Studio

El día de hoy le vengo a presentar este CRUD ( CREATE,READ,UPDATE,DELETE) hecho en Android Studio junto a mi compañero Israel Vazquez Castil...