Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Django

No description
by

giovanni alberto

on 9 September 2013

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Django

Características y herramientas.
Está hecho en python.
Es mantenido por la Django Software Foundation.
Fue liberado el 21 de julio de 2005.
La última versión estable es la 1.5.2.
Tiene licencia BSD.
Mide aproximadamente 7.6 MB
Su sitio web oficial es djangoproject.com
Objetivos
Fácil creación de sitios web con bases de datos complejos.
Reusabilidad y compatibilidad de componentes
Rápido desarrollo
Principio "don't repeat yourself".
Configuraciones fáciles.
Manejo de archivos y modelos de datos.
Administración de interfaces dinámicas (leer, escribir, modificar y eliminar).
Servidor web ligero para desarrollo y pruebas.
Sistema de validación y serialización de formulario.
Caching
XML y JSON, conversión de modelos.
Escalabilidad.
Convenciones definidas.
Documentación vasta y concentrada.
Scaffolding.
Templates.
Sistema de internacionalización.
Integración con Ajax.
Generación de pruebas.
Migración de bases de datos.

Instalación
Seguimos paso a paso las instrucciones del sitio oficial:
-Descarga del tar ball
-Instalación:
$tar xzvf Django-1.5.2.tar.gz
$cd Django-1.5.2
$sudo python setup.py install
-Verificación:
$python -c "import django; print(django.get_version())"
-Creación de proyecto:
$django-admin.py startproject miProyecto
Historia
Django nació en otoño de 2003 gracias a los programadores del Lawrence Journal-World, Adrian Holovaty y Simon Willison, pero fue liberaron públicamente hasta el 2005 bajo licencia BSD.
MVC
El núcleo de Django consta de un mapeador objeto-relacional, que media entre los modelos de datos (clases de python) y una base de datos relacional (modelo), un sistema para procesar solicitudes mediante plantillas web (vista) y un despachador de URL basado en expresiones regulares (controlador).
Usa MVC push, "action-based", genera procesos y empuja los datos hacia la vista
Curva de aprendizaje
Por la versatilidad del lenguaje, y su facilidad para ser aprendido y manejado, este framework es simple e intuitivo, aunque a la fecha hay cierta rivalidad con Rails, pues se proyecta al plano subjetivo, donde intervienen los gustos, apoyo de la comunidad, etc.

Según testimoniales en un fin de semana se puede aprender y generar un proyecto completo y funcional, obvio como programador nuevo en el framework.
Ventajas
Desventajas
Poca flexibilidad para la personalización de los templates, en algunos foros comparan a Django como Ubuntu y a Pylons con Archlinux.

No soporta múltiples bases de datos
Compatibilidad
Herramientas para generación de RSS y Atom.
Google sitemaps.
Creación de aplicaciones GIS
Mitigación de hacking y ataques web clásicos
Jython
PostgreSQL, MySQL, SQLite, y Oracle.
Django-nonrel (NoSQL).
IBM DB2 y Microsoft.
Eclipse con PyDev, Aptana Studio con PyDev, PyScripte, Komodo IDE, Wing IDE, Eric Python IDE, PyCharm, IntelliJ IDEA con Django plugin, NetBeans con Django Plugin, Microsoft Visual Studio con Python Tools para Visual Studio, Ninja IDE entre otros.
Uso real
Pinterest.
Instagram.
Mozilla,.
The Washington Times,
Public Broadcasting Service.
Open stack
Disqus
PolitiFact.com
Rdio
Addgen
Aprisme
Borsala
Etc.
Desventajas
Poca flexibilidad para la personalización de los componentes, ya que la mayoría de cosas personalizables depende de ti y cómo quieras que sea configurado.

Django ORM (Object-relational mapping). Algunos usuarios consideran que el ORM por default (SQLObject) es insuficiente para las tareas a realizar.

En la parte de negocios, es más sencillo encontrar desarrolladores web en lenguajes como Ruby o PHP que en Python.
Referencias web
http://gettingstartedwithdjango.com
http://djangoproject.com
http://elweb.co/33-projects-that-make-developing-django-apps-awesome/
http://lightbird.net/dbe/blog.html
https://code.djangoproject.com/wiki/Tutorials
http://www.netmagazine.com/tutorials/get-started-django
Ejemplo
$django-admin.py startproject mysite
$cd mysite
$python manage.py runserver
Editar mysite/settings.py
Sincronizamos $python manage.py syncdb
Creamos los modelos $python manage.py startapp polls
Activamos los modelos
Creamos sus tablas $python manage.py sql polls
Resincronizamos, $python manage.py syncdb
Pasamos a modo interactivo $python manage.py shell
Introducción
Django es un framework de aplicaciones web de código abierto
escrito en Python que sigue el patrón de arquitectura modelo vista controlador (MVC).
Objetivo
Facilitar la creación de sitios web complejos que requieren bases de datos enfatizando el principio DRY (Don't Repeat Yourself).
También proveé una interfaz CRUD (Create, Read, Update, Delete) opcional.
En junio de 2008 se crea la "Django Software Foundation" que se encarga de darle mantenimiento.
Cada dos años se realiza una conferencia para desarrolladores y usuarios de Django llamada DjancoCon.
Django utiliza la arquitectura "modelo vista controlador", sin embargo, en Django se prefiere nombrar como: "modelo vista plantilla"
Controlador: Es el corazón del sistema, ya que maneja las peticiones y respuestas y crea las conexiones a la base de datos. Para ésto Django lee un archivo de configuración que le indica qué cargar y qué hacer con las peticiones
provenientes del navegador.
Modelo: Incluye la base de datos y el código
en Python que lo utiliza. Django ayuda a escribir las clases de Python ("models") que
hacen una relacion uno a uno a las tablas en la base de datos.
Vista: Es la interfaz de usuario. Mostrado mediante HTML y código en Python ("views") que hace el render para mostrar en navegador.
Más ejemplos
Aun más sitios implementados con Django se encuentran en:
http://djangosites.org/
Autenticación.
Caching.
Envio de correos.
Manejo y moderación de comentarios.
Framework de mensajes.
Manejo de sesión.
Serialización
Framework para sitemaps.
Estadísticas y gráficas sobre las alternativas ocupadas en aplicaciones web con Django (DBMS, webserver, OS, versión de Django, versión de Python:
http://www.djangosites.org/stats/
Full transcript