Django 2
Antonio Melé
Copyright © Packt Publishing 2018. First published in the English language under the title Django 2 by Example – (9781788472487).
Primera edición original publicada en inglés por Packt Publishing Ltd. con el título: Django 2 by Example, © 2018 Antonio Melé
Título de la edición en español: Django 2
Primera edición en español, año 2020
© 2020 MARCOMBO, S.L.
www.marcombo.com
Traducción: Aitor Ruiz Fajardo y Jaime Fernández Martín
Correctora: Nuria Barroso
Directora de producción: M. aRosa Castillo
«Cualquier forma de reproducción, distribución, comunicación pública o transformación de esta obra solo puede ser realizada con la autorización de sus titulares, salvo excepción prevista por la ley. Diríjase a CEDRO (Centro Español de Derechos Reprográficos, www.cedro.org) si necesita fotocopiar o escanear algún fragmento de esta obra».
ISBN: 978-84-267-2866-1
Producción del ebook: booqlab.com
Para mi hermana
Antonio Melé es CTO de Exo Investing y fundador de Zenx IT. Antonio ha desarrollado proyectos Django desde 2006 para clientes de distintas industrias. También ha trabajado como CTO y consultor de tecnología para múltiples startups y ha gestionado equipos de desarrollo tecnológico para negocios digitales. Antonio es ingeniero superior en informática por la Universidad Pontificia Comillas. Su padre le inspiró su pasión por los ordenadores y la programación.
Acerca de los traductores
Aitor Ruiz Fajardo es Senior Software Development Engineer en Voysis en Dublín. Aitor ha trabajado principalmente en el desarrollo de arquitecturas y aplicaciones Java en proyectos para múltiples empresas en distintos sectores. Entusiasta del software y la gestión desde bien pequeño, Aitor es ingeniero superior en informática por la Universidad Carlos III de Madrid.
Jaime Fernández Martín es un consultor digital especializado en la implantación de software para negocios. Lleva trabajando con Python desde hace más de 10 años y ha sido coorganizador de Python-Madrid. Ha trabajado en diferentes sectores como: biotecnología, aeronáutica, telecomunicaciones, energía y financiero, aplicando la tecnología como medio para mejorar los procesos de negocio. Jaime es ingeniero informático por la Universidad Politécnica de Madrid, con un máster en inteligencia artificial por la misma universidad, y un MBA por CESMA Business School.
Prefacio Prefacio Django es un potente framework web escrito en Python que fomenta un desarrollo rápido y un diseño limpio y pragmático, a la par que ofrece una curva de aprendizaje relativamente suave, lo que lo hace atractivo tanto para programadores novatos como expertos. Este libro le guiará a través de todo el proceso del desarrollo de aplicaciones web profesionales con Django. El libro no solo cubre los aspectos más relevantes del framework, sino que también muestra cómo integrar otras tecnologías populares en proyectos Django. Este volumen le enseñará a crear aplicaciones reales, solucionar problemas comunes e implementar las mejores prácticas mediante un enfoque paso a paso fácil de seguir. Después de leer este libro sabrá cómo funciona Django y cómo utilizarlo para elaborar aplicaciones web prácticas con funcionalidades avanzadas.
1. Crear un blog 1 Crear un blog Con este libro aprenderá a desarrollar proyectos Django, listos para su funcionamiento en producción. En caso de que aún no haya instalado Django, aprenderá cómo hacerlo en la primera parte de este capítulo. En este también se verá cómo crear una sencilla aplicación de blog con Django. El propósito principal de este capítulo es tener una visión general del framework, comprender cómo interactúan los diferentes componentes entre sí y obtener las habilidades necesarias para crear un proyecto Django con funcionalidades sencillas. Este capítulo le guiará en la creación de un proyecto Django completo sin entrar en detalle en cada paso. Los diferentes componentes utilizados en este capítulo se describen en los siguientes capítulos. Este capítulo trata los siguientes puntos: • Instalar Django y crear un primer proyecto. • Diseñar modelos de datos y generar migraciones. • Crear un sitio de administración para modelos de datos. • Utilizar QuerySets y Managers. • Construir vistas, plantillas y URLs. • Añadir paginación a vistas de listado. • Usar vistas basadas en clases.
Instalar Django Instalar Django Si ya ha instalado Django puede saltar a la siguiente sección Crear mi primer proyecto . Django es un paquete Python y, como tal, puede instalarse en cualquier entorno Python. Si aún no ha instalado Django, los siguientes pasos le guiarán para instalarlo en un entorno local de desarrollo. Django 2.0 requiere la versión de Python 3.4 o superior. En los ejemplos de este libro utilizaremos Python 3.6.5. Si usa un sistema operativo Linux o macOS X, probablemente tenga instalado Python por defecto. Si usa otro tipo de plataformas, como Windows, puede descargar un instalador de Python desde https://www.python.org/downloads/windows/ . En caso de duda, puede comprobar si Python está instalado en su ordenador introduciendo el comando python en una consola. Si tras ejecutarlo aparece un texto similar al mostrado a continuación, Python está instalado en su sistema: Si la versión de Python instalada es inferior a la 3.4, o si no tiene Python instalado en su sistema, descargue Python 3.6.5 desde https://www.python.org/downloads/ e instálelo. Si dispone de un sistema de gestión de paquetes en su sistema operativo, es recomendable realizar la instalación a través de él. Al utilizar Python 3 no es necesario instalar una base de datos, ya que esta versión de Python incluye la base de datos SQLite en la instalación por defecto. SQLite es una base de datos ligera que se puede usar con Django para entornos de desarrollo. Para desplegar una aplicación en un entorno de producción, es necesario utilizar otro tipo de bases de datos avanzadas como PostgreSQL, MySQL u Oracle. Puede obtener más información sobre cómo configurar una base de datos con Django en https://docs.djangoproject.com/en/2.0/topics/install/#database-installation .
Crear un entorno de desarrollo Python
Instalar Django mediante pip
Crear el primer proyecto
Arrancar el servidor de desarrollo
Configuración del proyecto
Proyecto y aplicaciones
Crear una aplicación
Esquema de datos del blog
Activar la aplicación
Crear y activar migraciones
Sitio de administración para los modelos
Crear un superusuario
El sitio de administración de Django
Añadir modelos al sitio de administración
Personalizar la vista de modelos
Trabajando con QuerySets y Managers
Crear objetos
Actualizar objetos
Recuperar objetos
Valiéndose del método filter()
Uso de exclude()
Uso de order_by()
Eliminar objetos
Cuándo se evalúan los QuerySets
Crear gestores de modelos
Elaborar listas de detalle y listado
Creación de vistas de detalle y listado
Añadir patrones de URL para las vistas
Crear plantillas para vistas
Читать дальше