Grupo2 Django
Grupo2 Django
Grupo2 Django
Página 1 de 10
UNIVERSIDAD TÉCNICA DEL NORTE
FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS
CARRERA DE INGENIERÍA EN SOFTWARE
Contenido
Framework Web Development Django ....................................................................................3
Introducción: ..........................................................................................................................3
Desarrollo: ..............................................................................................................................3
Origen: ................................................................................................................................3
Características: ...................................................................................................................4
Evolución: ...........................................................................................................................5
Primeros pasos para desarrollar con Django ...................................................................7
Conclusiones: ..........................................................................................................................9
Bibliografía ...............................................................................................................................10
Página 2 de 10
UNIVERSIDAD TÉCNICA DEL NORTE
FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS
CARRERA DE INGENIERÍA EN SOFTWARE
Desarrollo:
Origen:
Django nació naturalmente de aplicaciones de la vida real escritas por un equipo de
desarrolladores Web en Lawrence, Kansas, en el otoño de 2003, cuando los programadores Web
del diario Lawrence Journal World, Adrian Holovaty y Simon Willison, comenzaron a usar
python para crear sus aplicaciones, el equipo de The World Online, responsable de la
producción y mantenimiento de varios sitios locales de noticias, prosperaban en un entorno de
desarrollo dictado por las fechas límite del periodismo, para los sitios incluidos LJWorld.com,
Lawrence.com y KUsports.com los periodistas y los directivos exigían que se agregaran nuevas
características y que aplicaciones enteras se crearan en un tiempo record, a menudo con sólo
días u horas de preaviso, es así que Adrian y Simon desarrollaron por necesidad un framework
de desarrollo Web que les ahorrara tiempo era la única forma en que podían crear aplicaciones
mantenibles en tan poco tiempo, asi tras dos años, luego de haber desarrollado este framework
hasta el punto en que estaba haciendo funcionar la mayoría de los sitios World Online, el equipo
de World Online, que ahora incluía a Jacob Kaplan Moss, decidió liberar el framework como
software de código abierto. Lo liberaron en julio de 2005 y lo llamaron Django, por el
guitarrista de jazz Django Reinhardt, Django al ser de codigo abierto es activamente mejorado
casi diariamente, ya que, los desarrolladores del framework tienen un alto grado de interés en
asegurarse de que Django les ahorre tiempo a los desarrolladores, produzca aplicaciones que son
fáciles de mantener y rindan bajo mucha presión, aunque existan otras razones, los
desarrolladores están motivados por sus propios deseos egoístas de ahorrarse tiempo a ellos
mismos y disfrutar de sus trabajos.
Página 3 de 10
UNIVERSIDAD TÉCNICA DEL NORTE
FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS
CARRERA DE INGENIERÍA EN SOFTWARE
Características:
Django es un framework web diseñado para realizar aplicaciones de cualquier complejidad en
unos tiempos muy razonables, está escrito en Python y tiene una comunidad muy amplia, que
está en continuo crecimiento, fue diseñado originalmente para la administración de páginas
relacionadas a las noticias y esto es evidente, ya que, proporciona una serie de características
que facilitan el desarrollo rápido de páginas orientadas a contenidos, por ejemplo, en lugar de
requerir que los desarrolladores escriban controladores y vistas para las áreas de administración
de la página, Django proporciona una aplicación incorporada para administrar los contenidos,
que puede incluirse como parte de cualquier página hecha con Django y que puede administrar
varias páginas hechas con Django a partir de una misma instalación, la aplicación administrativa
permite la creación, actualización y eliminación de objetos relacionados con el contenido,
llevando un registro de todas las acciones realizadas sobre cada uno, y proporciona una interfaz
para administrar los usuarios y los grupos de usuarios. (Paez, 2020)
Basado en la filosofía DRY (Don’t Repeat Yourself: No te repitas). Muchas aplicaciones web y
proyectos digitales comparten numerosas líneas de código unos con otros. Django es el marco
de desarrollo de refactorización de código casi por excelencia. Permite reutilizar programación
de unas aplicaciones a otras sin la obligación de tener que repetir las mismas líneas de código
entre distintos proyectos.
Base de datos embebida. Django viene con SQLite, una base de datos usada por compañías tan
importantes como Facebook o Bloomberg.
Sistema ORM de conexión a bases de datos. ORM es el sistema por el que este marco de
desarrollo se conecta y almacena sus datos en la BD. Dentro de este proceso son esenciales los
Querysets, listados de datos del modelo que pueden ser leídos, ordenados y filtrados. En este
pequeño tutorial se explica cómo escoger, ordenador o filtrar objetos del modelo.
Una API propia para el desarrollo de proyectos digitales. Django REST framework es un
conjunto de herramientas que permite a los desarrolladores la construcción de Web APIs
navegables, compatibles con lectura de datos ORM o no ORM y con políticas de autenticación
basadas en paquetes tan conocidos como OAuth1 y OAuth2.
Las características respecto al echo del porque se usa el framework Django tiene que ver con las
siguientes:
Página 4 de 10
UNIVERSIDAD TÉCNICA DEL NORTE
FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS
CARRERA DE INGENIERÍA EN SOFTWARE
• Es muy rápido: Si tenéis un startup, tenéis prisa por terminar vuestro proyecto o,
simplemente, queréis reducir costes, con Django podéis construir una aplicación muy
buena en poco tiempo.
• Viene bien cargado: Cualquier cosa que necesitéis realizar, ya estará implementada,
sólo hay que adaptarla a vuestras necesidades. Ya sea porque hay módulos de la
comunidad, por cualquier paquete Python que encontréis o las propias aplicaciones que
Django trae, que son muy útiles.
• Es bastante seguro: Podemos estar tranquilos con Django, ya que implementa por
defecto algunas medidas de seguridad, las más clásicas, para que no haya SQL
Injection, no haya Cross site request forgery (CSRF) o no haya Clickjacking por
JavaScript. Django se encarga de manejar todo esto de una manera realmente sencilla.
• Es muy escalable: Podemos pasar desde muy poco a una aplicación enorme
perfectamente, una aplicación que sea modular, que funcione rápido y sea estable.
No obstante, hay que tomar en cuenta que Django es muy versátil y puede ser usado más que
solo para paginas relacionadas a contenido como noticias, esto queda a disposición del
desarrollador, ya que, solo el puede decidir cómo usar el framework y que paginas desarrollara
con él, algunas de las características tecnicas que podemos denotar de Django son las siguientes
(Martinez, 2019):
• Cuenta con aplicaciones que pueden instalarse en cualquier página gestionada con
Django.
• Cuenta con una API de base de datos robusta.
• Soporte de internacionalización, incluyendo traducciones incorporadas de la interfaz
de administración.
• Cuenta con documentación incorporada accesible a través de la aplicación
administrativa.
• Está basado en un mapeador objeto-relacional.
• Cuenta con un sistema extensible de plantillas basado en etiquetas, con herencia de
plantillas.
Evolución:
Desde su creación Django no ha dejado de mejorar con cada versión integrando nuevas
funcionalidades en cada actualización tal cual como hablaremos a continuación:
Django versión 1:
• Integra estabilidad API y compatibilidad con futuras versiones.
• Es incompatible con versiones anteriores de Django 0.96.
• Se incluye un nuevo sitio de documentación https://docs.djangoproject.com/.
• Aplicación de administración refactorizada.
• Manejo mejorado de Unicode.
• Un ORM mejorado.
• Escape automático de variables de plantilla.
• Almacenamiento de archivos conectable.
• Compatibilidad con Jython.
(DjangoProject, 2009).
Página 5 de 10
UNIVERSIDAD TÉCNICA DEL NORTE
FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS
CARRERA DE INGENIERÍA EN SOFTWARE
Django versión 2:
• Integra compatibilidad con Python.
• Integra compatibilidad con bibliotecas de terceros para versiones anteriores de Django.
• Compatible con dispositivos móviles contrib.admin.
• Expresiones de ventana.
• Cache.
• Almacenamiento de archivos.
• Incluye comandos de gestión.
• Migrations.
• Pagination.
Django versión 3:
• Soporte MariaDB
• Soporte ASGI
• Restricciones de exclusión en PostgreSQL
• Filtrar expresiones
• Enumeraciones para opciones de campo modelo
• Cambios incompatibles con versiones anteriores en 3.0
• API back-end de base de datos
• django.contrib.admin
• django.contrib.gis
Django versión 4:
• Implementación de la biblioteca zoneinfoimplementación de zona horaria
predeterminada
• Integra restricciones funcionales únicas
• Integra scrypthasher de contraseñas
• Backend de almacenamiento en caché de Redis
• Representación de formularios basada en plantillas
• CSRF
• Internationalization
• Logging
• Signals
Página 6 de 10
UNIVERSIDAD TÉCNICA DEL NORTE
FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS
CARRERA DE INGENIERÍA EN SOFTWARE
Descarga del archivo comprimido desde la página web de Django. La última versión disponible
del marco de desarrollo es la 1.9.1. Está previsto que la versión 1.10 del framework se lance en
agosto de 2016. Una vez descargado y descomprimido el archivo, se debe comenzar la
instalación de Django en el equipo mediante el uso de pip. Comando:
Otra opción para instalar la versión más actualizada de Django es usar Git, el sistema de control
de versiones distribuido de código abierto y gratuito. Su instalación se lleva a cabo a través de
este intérprete de comandos, que lógicamente necesita de la instalación previa de Git.
Django tiene algunas dependencias y requisitos que también deben estar instalados en la
máquina si se quiere usar este marco:
Página 7 de 10
UNIVERSIDAD TÉCNICA DEL NORTE
FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS
CARRERA DE INGENIERÍA EN SOFTWARE
El tercer requisito es una base de datos compatible. Hay varias opciones: PostgreSQL, MySQL,
SQLite3 y Oracle.
La creación de un proyecto
Para comenzar un proyecto digital Django es necesario hacer lo siguiente:
Creación del directorio del nuevo proyecto. Ejecutar el siguiente comando: django-admin.py
startproject mysite. Lo más recomendable a nivel técnico con Django y Python es colocar este
directorio fuera de la carpeta raíz del servidor para evitar problemas de seguridad. Con ese
comando se crea el directorio mysite, que es un nombre genérico:
mysite/
manage.py
mysite/
__init__.py
settings.py
urls.py
wsgi.py
• mysite/: es el directorio del proyecto, que en este caso tiene un nombre genérico pero
que puede ser modificado para personalizarlo con el nombre de la página web, blog o
app.
• manage.py: línea de comandos para la gestión del proyecto.
• mysite/mysite/: directorio del paquete Python de nuestro proyecto digital y donde se
realizará cualquier importación.
• mysite/_init_,py: archivo que permite a Python tratar el directorio del proyecto como un
paquete Python.
• mysite/settings.py: opciones de configuración del proyecto.
• mysite/urls.py: declaración de urls para la futura web.
• mysite/wsgi.py: archivo de la especificación del servidor.
Página 8 de 10
UNIVERSIDAD TÉCNICA DEL NORTE
FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS
CARRERA DE INGENIERÍA EN SOFTWARE
name: es el nombre de la base de datos, que siempre debe ser la ruta completa incluyendo el
nombre del archivo. Un ejemplo práctico con un equipo Windows sería
C:/home/user/mysite/sqlite3.db, en el caso de que el proyecto desarrollo en Django use como
base de datos SQLite3.
(Desarrolladores, 2016)
Conclusiones:
Django es uno de los Frameworks de Python más populares, trayendo grandes beneficios a los
desarrolladores que desean emplearlo.
Como punto importante a resaltar, los frameworks son solo recursos para la creación de
aplicaciones y estos se deberán emplear según las necesidades de cada proyecto.
Django nos ayuda a fomentar el desarrollo rápido y limpio de nuestro código, se destaca que es
muy sencillo de incluir en la aplicación, personalizarlo superficialmente y heredar de él.
Django es consciente de la importancia que tiene la seguridad en la actualidad, por eso aporta
diversos mecanismos de seguridad para distintas partes de la aplicación, lo cual permite al
programador no tener que fijarse expresamente de esos detalles.
En general, si habéis usado Symfony en PHP o Ruby on Rails, Django es similar. Si nos os
gustan los anteriores, seguro que éste lo hará, y si os gustan, debéis darle una oportunidad.
Tras realizar el estudio de Django, se puede deducir que debido a la utilización del patrón MTV,
aporta una mayor reutilización del código, ofrece una mejor seguridad a la aplicación y facilidad
del mantenimiento.
De la seguridad del Framework, Django es consciente de la importancia que tiene este punto en
la actualidad, y aporta diversos mecanismos de seguridad por defecto para distintas partes de la
aplicación, lo cual permite al programador no tener que fijarse expresamente de esos detalles.
Django es un framework que facilita el desarrollo ágil de aplicaciones web, por lo que, con un
previo estudio del mismo, se puede sacar mucho partido a las distintas herramientas que éste
ofrece para construir una aplicación Web robusta.
Página 9 de 10
UNIVERSIDAD TÉCNICA DEL NORTE
FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS
CARRERA DE INGENIERÍA EN SOFTWARE
Bibliografía
Django Project. (23 de 5 de 2017). Obtenido de Django version 2.0:
https://docs.djangoproject.com/en/4.0/releases/2.0/
Django: guía rápida para desarrollar páginas web con este framework. (n.d.). Retrieved
February 5, 2022, from https://www.bbvaapimarket.com/es/mundo-api/django-guia-
rapida-para-desarrollar-paginas-web-con-este-framework/
Página 10 de 10
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: