Primera Sesión

José Miguel Amaya Camacho

www.pythonpiura.org

miguel.amaya99@gmail.com

Instalación de Python

  • Usaremos python3
  • En Windows debes descargarlo desde: https://www.python.org/
  • Si usas GNU/Linux viene instalado por defecto.
  • Para probar que python funciona sin problemas deben escribir en la terminal lo siguiente:

Entorno Virtual GNU/Linux

  • Para instalar los paquetes lo haremos sobre un "entorno virtual", que es un entorno aislado que contiene una copia exacta de python pero en una carpeta definida por el usuario.
  • Para crear un entorno virtual debemos instalar el programa python3-venv:
    • sudo apt-get install python3-venv

Entorno Virtual GNU/Linux

  • Crear:
    • python3 -m venv taller
  • Activar:
    • source taller/bin/activate
  • Desactivar:
    • deactivate

Entorno Virtual Windows

  • Crear:
    • python -m venv taller
  • Activar:
    • taller\Scripts\activate.bat
  • Desactivar
    • deactivate

IDE para Desarrollar

  • Pueden usar cualquier editor pero en este taller enseñaremos a instalar y configurar Pycharm.
    • https://www.jetbrains.com/pycharm/
  • Debemos tener la maquina virtual java para poder ejecutarlo.

Configuracion de DRF

  • En el archivo settings.py debemos agregar la aplicación djangorestframework a la lista INSTALLED_APPS:

Aplicaciones

  • Componentes que tiene una funcionalidad especifica, por ejemplo un blog, foros, galería de fotos, etc.
  • Creación de una aplicación en django:
    • python manage.py startapp cursos
  • Se agrega a INSTALLED_APPS como lo hicimos antes.

Arrancando el proyecto

  • Migraciones: forma como almacena django los cambios en nuestros modelos, son archivos de texto plano con código python.
    • python manage.py makemigrations
    • python manage.py migrate
  • Servidor de desarrollo: sirve para trabajar localmente, nunca en producción, corre en el puerto 8000, permite un usuario en ejecución.

python manage.py runserver

Administrando el proyecto

  • El sitio de administración: sitio ya completamente construido por django para administrar nuestros usuarios y modelos de las aplicaciones, ingresamos agregando /admin a la url del navegador.
  • El superusuario: tiene acceso al admin y a todos las aplicaciones de nuestro proyecto, lo creamos así:

    python manage.py createsuperuser

    .

Los Modelos

  • Un modelo de Django es una descripción de los datos mediante código python que son reflejados en la base de datos.
  • Un modelo ejecuta código SQL por detrás y retorna estructuras de datos convenientes en Python.
  • Django también usa modelos para representar conceptos de alto nivel que no necesariamente pueden ser manejados por SQL.
  • Cada aplicación tiene un archivo models.py donde se colocan los modelos.

models.py

Serializadores

  • Convierten objetos de Python a formatos de datos más simples como JSON y XML (serialización) y viceversa (deserialización).

  • Validan los datos que recibe la aplicación, como los Forms en Django.

  • Para crearlos DRF nos proporciona nos proporciona Serializer y ModelSerializer y se crean en el archivo serializers.py.

serializers.py

Las Vistas

  • Una vista es una función o una clase que básicamente hace dos cosas, toma como argumento un objeto en el que va la información referente a la solicitud que estamos haciendo y devuelve un json, xml u otra estructura de datos que nos interese que devuelva nuestra API, o en caso contrario una excepción si algo ha ido mal.

  • Cada aplicación tiene un archivo views.py donde se colocan las vistas.

views.py

Routers

  • Son una herramienta que nos permiten definir las urls de nuestro API de una manera sencilla y ordenada.
  • Permiten definir limpiamente qué método de una class view se ejecutará al llegar una petición HTTP contra un path concreto usando un verbo HTTP(GET, POST, PUT, PATCH…).
  • Es posible poner todas en el archivo urls.py del proyecto o crear un archivos urls.py para cada aplicación

urls.py / Proyecto

Probemos nuestra API

Usemos Postman

¿Donde encontrar mas información?

  • Visiten nuestro sitio web.
    • http://pythonpiura.org/recursos/
    • http://pythonpiura.org/categories/django/
  • Visiten la documentación oficial:
    • https://docs.djangoproject.com/en/1.11/
    • https://www.django-rest-framework.org/

 

 

MUCHAS GRACIAS

FLISOL 2019 SEDE PIURA

Made with Slides.com