Publicado el 9 de Mayo del 2018
1.291 visualizaciones desde el 9 de Mayo del 2018
203,7 KB
25 paginas
Creado hace 10a (10/09/2014)
Introducción
MVC en Django
Primeros pasos
Django Framework
José Ortiz Bejar
job@correo.fie.umich.mx
Universidad Michoacana de San Nicolás de Hidalgo
10 de septiembre de 2014
Django Framework
job@correo.fie.umich.mx Universidad Michoacana de San Nicolás de Hidalgo
Introducción
MVC en Django
Primeros pasos
Introducción
MVC en Django
Primeros pasos
Primera página con Django
Django Framework
job@correo.fie.umich.mx Universidad Michoacana de San Nicolás de Hidalgo
Introducción
MVC en Django
Primeros pasos
Programando al viejo estilo
#!/ u s r / b i n / env p y t h o n
i m p o r t MySQLdb
p r i n t ” C on t e nt−Type :
p r i n t ”<html><head><t i t l e >Books</ t i t l e ></head>”
p r i n t ”<body>”
p r i n t ”<h1>Books</h1>”
p r i n t ”<u l >”
t e x t / h t m l\n”
c o n n e c t i o n = MySQLdb . c o n n e c t ( u s e r =’me ’ , passwd =’ l e t m e i n ’ , db=’my db ’ )
c u r s o r = c o n n e c t i o n . c u r s o r ( )
c u r s o r . e x e c u t e ( ” SELECT name FROM b o o k s ORDER BY p u b d a t e DESC LIMIT 1 0 ” )
f o r
row i n c u r s o r . f e t c h a l l ( ) :
p r i n t ”< l i> %s</ l i >” % row [ 0 ]
p r i n t ”</u l >”
p r i n t ”</body></html >”
c o n n e c t i o n . c l o s e ( )
Django Framework
job@correo.fie.umich.mx Universidad Michoacana de San Nicolás de Hidalgo
Introducción
MVC en Django
Primeros pasos
¿Porque es necesario un framework?
Se tiene la necesidad de que múltiples módulos de una
aplicación se conecten a la base de datos
Es necesario mezclar lenguajes
Reusar módulos para diferentes bases de datos
Separar diseño y desarrollo
Django Framework
job@correo.fie.umich.mx Universidad Michoacana de San Nicolás de Hidalgo
Introducción
MVC en Django
Primeros pasos
¿Que es Django?
Un conjunto de librerías que provee una infraestructura para el
desarrollo de aplicaciones
Permiten escribir programas limpios
Facilitan el mantenimiento
Django Framework
job@correo.fie.umich.mx Universidad Michoacana de San Nicolás de Hidalgo
Introducción
MVC en Django
Primeros pasos
MVC en Django
Django Framework
job@correo.fie.umich.mx Universidad Michoacana de San Nicolás de Hidalgo
Introducción
MVC en Django
Primeros pasos
Modelo
models.py contiene la descripción de la base de datos, representada
como una clase de python.
# m o d e l s . py ( d e s c r i p c i ó n de l a b a s e de d a t o s )
from d j a n g o . db i m p o r t m o d e l s
c l a s s Book ( m o d e l s . Model ) :
name = m o d e l s . C h a r F i e l d ( m a x l e n g t h =50)
p u b d a t e = m o d e l s . D a t e F i e l d ( )
Django Framework
job@correo.fie.umich.mx Universidad Michoacana de San Nicolás de Hidalgo
Introducción
MVC en Django
Primeros pasos
Modelo
Definir los objetos de la base de datos
Establecer las relaciones entre los objetos
Permite acceder a los datos (leer, crear, modificar y borrar)
Django Framework
job@correo.fie.umich.mx Universidad Michoacana de San Nicolás de Hidalgo
Introducción
MVC en Django
Primeros pasos
Vista
view.py contiene la lógica del sistema de información
# v i e w s . py ( L ó g i c a d e l
s i s t e m a )
from d j a n g o . s h o r t c u t s
from m o d e l s
i m p o r t Book
i m p o r t
r e n d e r t o r e s p o n s e
d e f
l a t e s t b o o k s ( r e q u e s t ) :
b o o k l i s t = Book . o b j e c t s . o r d e r b y (’− p u b d a t e ’ ) [ : 1 0 ]
r e t u r n r e n d e r t o r e s p o n s e ( ’ l a t e s t b o o k s . html ’ , { ’ b o o k l i s t ’ : b o o k l i s t })
Django Framework
job@correo.fie.umich.mx Universidad Michoacana de San Nicolás de Hidalgo
Introducción
MVC en Django
Primeros pasos
Vista
view.py contiene la lógica del sistema de información
Ejecuta las operaciones necesarias para devolver el contenido
html
Implementa la lógica del sistema.
Interactúa con el modelo para extraer información de la BD
Django Framework
job@correo.fie.umich.mx Universidad Michoacana de San Nicolás de Hidalgo
Introducción
MVC en Django
Primeros pasos
Controlador
urls.py Define como se relacionan las urls con las vistas.
# urls.py (the URL configuration)
from django.conf.urls.defaults import *
import views
urlpatterns = patterns(’’,
(r’^latest/$’, views.latestbooks),
)
Django Framework
job@correo.fie.umich.mx Universidad Michoacana de San Nicolás de Hidalgo
Introducción
MVC en Django
Primeros pasos
Plantilla
urls.py Define como se relacionan las urls con las vistas.
# l a t e s t b o o k s . html
( t h e t e m p l a t e )
<html><head>< t i t l e >Books </ t i t l e ></head>
<body>
<h1>Books </h1>
<u l >
{ % f o r book i n b o o k l i s t %}
< l i >{{ book . name }}</ l i >
{ % e n d f o r %}
</u l >
</body></html>
Django Framework
job@correo.fie.umich.mx Universidad Michoacana de San Nicolás de Hidalgo
Introducción
MVC en Django
Primeros pasos
Enfoque MVC
Django se apega al enfoque MVC.
M El acceso a los datos, es manejado por la capa de
base de datos de Django (Modelos).
V La parte en que se selecciona cuales y como se
muestran los datos. Vistas y plantillas.
C Selecciona que vista utilizar de acuerdo con la
entrada del usuario. La configuración de urls mapea a
métodos Python.
Django Framework
job@correo.fie.umich.mx Universidad Michoacana de San Nicolás de Hidalgo
Introducción
MVC en Django
Primeros pasos
Enfoque MTV
Debido a que la ’C’ ya es manejada por el framework. En Django
sería mas apropiado hablar de un desarrollo MTV.
M Se sigue utilizando para la capa de datos.
T Se refiere a las plantillas (Template), la capa de
presentación de los datos.
V La capa de lógica del sistema.
Django Framework
job@correo.fie.umich.mx Universidad Michoacana de San Nicolás de Hidalgo
Introducción
MVC en Django
Primeros pasos
Instalación
Descargar y extraer Django-x.x.gz
cd Django-x-x
python setup.py install
Django Framework
job@correo.fie.umich.mx Universidad Michoacana de San Nicolás de Hidalgo
Introducción
MVC en Django
Primeros pasos
Probar la instalación
En ms dos/terminal
python
>>> import django
>>> django.VERSION
(1, 4, 0, ’final’, 0)
Django Framework
job@correo.fie.umich.mx Universidad Michoacana de San Nicolás de Hidalgo
Introducción
MVC en Django
Primeros pasos
Habilitando el motor de bases de datos
Django soporta cuatro motores de bases de datos
PostgreSQL (http://www.postgresql.org/)
SQLite 3 (http://www.sqlite.org/)
MySQL (http://www.mysql.com/)
Oracle (http://www.oracle.com/)
Django Framework
job@correo.fie.umich.mx Universidad Michoacana de San Nicolás de Hidalgo
Introducción
MVC en Django
Primeros pasos
SQlite
En nuestro caso usaremos SQlite, para las versiones 2.5 y mayores
Python integra soporte para SQlite.
La base de datos es un solo archivo
No se requiere un servidor
No es necesario hacer instalaciones adicionales
Django Framework
job@correo.fie.umich.mx Universidad Michoacana de San Nicolás de Hidalgo
Introducción
MVC en Django
Primeros pasos
Agregar comandos django al path (solo usuarios windows)
click derecho en Equipo(o y Mi PC)
Pestaña de opciones avanzadas
Variables de entorno
editar la variable path y agregar al final
;path_to_python\lib\site-packages\django\bin donde
path to python es la ruta donde quedo instalado python (e.j.
c:\python).
Django Framework
job@correo.fie.umich.mx Universidad Michoacana de San Nicolás de Hidalgo
Introducción
MVC en Django
Primeros pasos
Iniciar un proyecto
En ms dos/terminal
django-admin.py startproject misitio
Esto crea un directorio con la siguiente estructura
misitio/
manage.py
misitio/
__init__.py
settings.py
urls.py
Django Framework
job@correo.fie.umich.mx Universidad Michoacana de San Nicolás de Hidalgo
Introducción
MVC en Django
Primeros pasos
Estructura del proyecto
init .py Es un archivo vacío el cual se utiliza para que python
trate la aplicación como un paquete. Generalmente
no es necesario editarlo.
manage.py Utilidad de línea de comandos que nos permite
interactuar con el proyecto.
settings.py La configuración de proyecto Django. Se encuentra
pre-editado con valores por defecto.
urls.py Se utiliza para manejar las URLs del proyecto. Como
una especie de tabla de contenido. Inicialmente vacío.
Django Framework
job@correo.fie.umich.mx Universidad Michoacana de San Nicolás de Hidalgo
Introducción
MVC en Django
Primeros pasos
Servidor de desarrollo
Django incluye un servidor web ligero, lo cual permite desarrollar
sin necesidad de configurar un servidor web.
python manage.py runserver
Validating models...
0 errors found.
Django version 1.0, using settings ’mysite.settings’
Development server is running at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
Django Framework
job@correo.fie.umich.mx Universidad Michoacana de San Nicolás de Hidalgo
Introducción
MVC en Django
Primeros pasos
Primera página con Django
La primera Vista
La primera meta es escribir una página web que diga: Hola Mundo.
La función debe escribirse en views.py
from d j a n g o . h t t p i m p o r t H t t p R e s p o n s e
d e f h e l l o ( r e q u e s t ) :
r e t u r n H t t p R e s p o n s e ( ’ Hola Mundo ’ )
Es necesario importar la clase HttpResponse que es parte del
modulo django.http
Se define una función hello (función de vista)
Cada función toma al menos un argumento llamado request
por convención. Contiene información de la petición web.
La función regresa un objeto django.http.HttpRequest con el
texto ’Hola Mundo’
Django Framework
job@correo.fie.umich.mx Universidad Michoacana de San Nicolás de Hidalgo
Introducción
MVC en Django
Primeros pasos
Primera página con Django
URLconf
from d j a n g o . c
Comentarios de: Django Framework (0)
No hay comentarios