DJANGO 2

$908

Hay existencias

Autor:  MELÉ, Antonio

Páginas:   532

Año:   2020

Edición:   1

Editorial:  Alfaomega –  Marcombo

Apoyos:   Web

Presentación:

E-Book:  https://www.alfaomegaeditor.com.mx/default/catalogo/profesional/computacion/django-2.html

Nivel:  

Encuadernación:  Rústica

Hay existencias

ISBN: 9786075385716 Categorías: ,

Descripción

Este libro guiará al lector través de la creación de cuatro proyectos prácticos con Django para saber cómo resolver problemas comunes e implementar las mejores prácticas de desarrollo. Esta guía permitirá descubrir este proceso completo para llevar a cabo aplicaciones web profesionales con Django.

Esta guía no solo trata el desarrollo de aplicaciones web con Django, sino también cómo mejorar la experiencia de usuario mediante AJAX y JavaScript, integrar otras tecnologías como Redis y Celery, así como crear APIs REST para exponer servicios a terceros.

Como objetivo final, el lector puede estar seguro de que al terminar este libro él podrá disponer de un conocimiento profundo sobre cómo construir aplicaciones web avanzadas con Django.

VENTAJAS

• Este libro representa una guía completa para realizar aplicaciones web profesionales con Django.

• Mejorar la experiencia de usuario utilizando JavaScript y AJAX.

• Cuenta con ejemplos prácticos.

• Contiene material de apoyo en la web.

CONOZCA

• Cómo desarrollar aplicaciones Django reutilizables.

• Cómo construir APIs REST para exponer funcionalidades a terceros.

• Cómo crear un blog, una aplicación social, compartir contenido web, dar seguimiento de usuario, renderizar y cachear contenido.

APRENDA

• A utilizar Django con otras tecnologías como Redis y Celery para construir una tienda online.

• A construir una plataforma e-learning.

• Crear un middleware para gestionar subdominios.

• A crear funcionalidades avanzadas, optimizar código y a utilizar la caché.

DESARROLLE SUS HABILIDADES PARA

• Añadir internacionalización a proyectos Django.

• Añadir funcionalidades sociales a los proyectos.

• Dominar las funciones más relevantes del framework creando proyectos completos desde cero.

Prefacio ………………………………………………………………………………….. xvii

1. Crear un blog …………………………………………………………………………. 1

Instalar Django ………………………………………………………………………………………… 1

Crear un entorno de desarrollo Python …………………………………………………….. 2

Instalar Django mediante pip ………………………………………………………………….. 4

Crear el primer proyecto …………………………………………………………………………… 4

Arrancar el servidor de desarrollo ………………………………………………………. 6

Configuración del proyecto ……………………………………………………………….. 8

Proyecto y aplicaciones …………………………………………………………………….. 9

Crear una aplicación ……………………………………………………………………….. 10

Esquema de datos del blog ………………………………………………………………………. 10

Activar la aplicación …………………………………………………………………………….. 13

Crear y activar migraciones …………………………………………………………………… 14

Sitio de administración para los modelos ………………………………………………….. 15

Crear un superusuario …………………………………………………………………………… 16

El sitio de administración de Django ……………………………………………………… 16

Añadir modelos al sitio de administración ……………………………………………… 17

Personalizar la vista de modelos ……………………………………………………………. 19

Trabajando con QuerySets y Managers …………………………………………………….. 21

Crear objetos ……………………………………………………………………………………….. 21

Actualizar objetos ………………………………………………………………………………… 23

Recuperar objetos ………………………………………………………………………………… 23

Valiéndose del método filter() ………………………………………………………… 24

Uso de exclude() …………………………………………………………………………… 24

Uso de order_by() …………………………………………………………………………. 24

Eliminar objetos …………………………………………………………………………………… 25

Cuándo se evalúan los QuerySets ………………………………………………………….. 25

Crear gestores de modelos …………………………………………………………………….. 25

Elaborar listas de detalle y listado…………………………………………………………….. 26

Creación de vistas de detalle y listado ……………………………………………………. 27

Añadir patrones de URL para las vistas ………………………………………………….. 28

Crear plantillas para vistas ………………………………………………………………………. 30

Añadir paginación ………………………………………………………………………………….. 34

Usar vistas basadas en clase …………………………………………………………………….. 36

Resumen ………………………………………………………………………………………………. 38

2. Funciones avanzadas del blog …………………………………………………. 39

Compartir artículos por email ………………………………………………………………….. 39

Crear formularios en Django……………………………………………………………. 40

Usar formularios en vistas ………………………………………………………………. 41

Enviar emails con Django ……………………………………………………………….. 43

Renderizar formularios en plantillas …………………………………………………. 46

Crear un sistema de comentarios ……………………………………………………………… 50

Crear formularios de un modelo ………………………………………………………. 52

Funcionamiento de ModelForms en vistas ………………………………………… 53

Añadir comentarios a la plantilla de detalle de artículos …………………………. 55

Añadir funcionalidad de etiquetado ………………………………………………………….. 58

Recuperar artículos por similitud ……………………………………………………………… 64

Resumen ………………………………………………………………………………………………. 67

3. Extensiones para el blog ………………………………………………………… 69

Crear filtros y etiquetas de plantilla personalizados ……………………………………. 69

Crear etiquetas de plantilla personalizadas ………………………………………… 69

Crear filtros de plantilla personalizados …………………………………………….. 75

Añadir un mapa de sitio ………………………………………………………………………….. 78

Sistema de feeds …………………………………………………………………………………….. 81

Crear un sistema de búsqueda para el blog ………………………………………………… 84

Instalar PostgreSQL ………………………………………………………………………… 85

Búsquedas sencillas ……………………………………………………………………….. 86

Búsqueda sobre múltiples campos …………………………………………………………. 87

Construir una vista de búsqueda ………………………………………………………. 87

Lematización y resultados por semejanza ………………………………………….. 90

Orden de relevancia en búsquedas ……………………………………………………. 91

Búsquedas por similitud de trigrama ……………………………………………………. 92

Otros motores de búsqueda de texto completo …………………………………… 93

Resumen ………………………………………………………………………………………………. 93

4. Construir una aplicación social ……………………………………………….. 95

Crear un proyecto de red social ……………………………………………………………….. 95

Iniciar el proyecto de red social …………………………………………………………… 96

Utilizar el sistema de autenticación de Django …………………………………………… 97

Crear una vista de inicio de sesión ……………………………………………………. 98

Utilizar las vistas de autenticación de Django ………………………………….. 104

Vistas para iniciar y cerrar sesión …………………………………………………… 105

Vistas para modificar la contraseña ………………………………………………… 111

Vistas para restaurar la contraseña ………………………………………………….. 114

Registro y perfiles de usuario ………………………………………………………………… 119

Registro de usuarios ……………………………………………………………………… 119

Extender el modelo de usuario ……………………………………………………….. 123

Usar un modelo de usuario personalizado …………………………………. 130

Utilizar el sistema de mensajes ………………………………………………………. 130

Crear un backend de autenticación personalizado …………………………………….. 133

Añadir autenticación social a la web ……………………………………………………….. 136

Autenticación mediante Facebook …………………………………………………….. 138

Autenticación mediante Twitter ………………………………………………………… 143

Autenticación mediante Google ………………………………………………………… 145

Resumen …………………………………………………………………………………………….. 148

5. Compartir contenido en su web ………………………………………………149

Crear un sitio web para compartir imágenes …………………………………………….. 150

Construir el modelo imagen …………………………………………………………… 150

Crear relaciones muchos a muchos ……………………………………………………… 152

Registrar el modelo imagen en el portal de administración ………………… 153

Enviar contenido desde otros sitios web ………………………………………………….. 154

Validar campos de formulario ………………………………………………………… 155

Sobrescribir el método save() de un ModelForm ………………………………. 156

Elaborar un bookmarklet con jQuery ………………………………………………. 160

Crear una vista de detalle para las imágenes …………………………………………….. 170

Crear miniatura de imágenes utilizando sorl-thumbnail …………………………….. 173

Añadir acciones AJAX con jQuery …………………………………………………………. 174

Cargar jQuery ……………………………………………………………………………… 176

Falsificación de petición en sitios cruzados con AJAX ……………………… 177

Realizar peticiones AJAX con jQuery …………………………………………….. 179

Crear decorados para vistas …………………………………………………………………… 183

Añadir paginación AJAX a listados ………………………………………………………… 184

Resumen …………………………………………………………………………………………….. 189

6. Seguimiento de acciones de usuario ………………………………………..191

Construir un sistema de seguidores …………………………………………………………. 191

Crear relaciones muchos a muchos a través de un model intermedio …… 192

Crear vistas de listado y detalle para perfiles de usuario ……………………. 196

Construir una vista AJAX para seguir usuarios ………………………………… 201

Construir un feed de actividad ……………………………………………………………….. 203

Utilizar el sistema de contenttypes ………………………………………………….. 204

Añadir relaciones genéricas a modelos ……………………………………………. 206

Evitar registrar acciones duplicadas ………………………………………………… 209

Añadir acciones de usuario al registro de actividad …………………………… 211

Mostrar el registro de actividad ……………………………………………………… 212

Optimizar QuerySets que involucran objetos relacionados ………………… 213

Utilizar select_related()…………………………………………………………… 213

Utilizar prefetch_related() ……………………………………………………….. 214

Crear plantillas parea acciones ……………………………………………………….. 214

Usar señales para desnormalizar conteos …………………………………………………. 216

Trabajar con señales ……………………………………………………………………… 217

Clases de configuración de aplicaciones ………………………………………….. 220

Usar Redis para contabilizar visualizaciones ……………………………………………… 222

Instalar Redis ………………………………………………………………………………. 222

Usar Redis con Python ………………………………………………………………….. 224

Almacenamiento total de visualizaciones en Redis …………………………… 226

Almacenar un ranking en Redis ……………………………………………………… 228

Siguientes pasos con Redis ……………………………………………………………. 230

Resumen …………………………………………………………………………………………….. 231

7. Construir una tienda online ……………………………………………………233

Crear un proyecto de tienda online …………………………………………………………. 233

Modelo de catálogo de productos …………………………………………………… 234

Registrar el catálogo en el panel de administración …………………………… 237

Construir vistas de catálogo ……………………………………………………………. 239

Crear plantillas de catálogo ……………………………………………………………. 241

Construir un carro de la compra ……………………………………………………………… 246

Sistema de sesiones en Django ………………………………………………………. 246

Configuración de sesión ………………………………………………………………… 247

Expiración de sesión …………………………………………………………………….. 249

Almacenar carros de compra en sesión ……………………………………………. 249

Vistas para el carro de la compra ……………………………………………………. 254

Añadir elementos al carro ……………………………………………………….. 254

Construir una plantilla para mostrar el carro ……………………………… 257

Añadir productos al carro ……………………………………………………….. 259

Modificar la cantidad de producto en el carro ……………………………. 260

Crear un procesador de contexto para el carro actual ………………………… 262

Registrar órdenes de clientes …………………………………………………………………. 264

Crear modelo de órdenes ………………………………………………………………. 264

Añadir los modelos de órdenes al panel de administración ………………… 266

Crear órdenes de clientes ………………………………………………………………. 267

Ejecutar tareas asíncronas con Celery ……………………………………………………… 272

Instalar Celery ……………………………………………………………………………… 272

Instalar RabbitMQ ……………………………………………………………………….. 273

Añadir Celery al proyecto ……………………………………………………………… 273

Añadir tareas asíncronas a su aplicación ………………………………………….. 275

Monitorizar Celery ……………………………………………………………………….. 277

Resumen …………………………………………………………………………………………….. 277

8. Gestión de pagos y pedidos ……………………………………………………279

Integrar una pasarela de pago ………………………………………………………………… 279

Crear una cuenta de prueba en Braintree …………………………………………. 280

Instalar el módulo Python de Braintree ……………………………………………. 281

Integrar la pasarela de pago …………………………………………………………… 282

Integrar Braintree con Hosted Fields ………………………………………… 284

Probar los pagos …………………………………………………………………………… 291

Desplegando en producción …………………………………………………………… 293

Exportar órdenes de pedido a CSV ………………………………………………………………. 294

Añadir acciones en el panel de administración …………………………………. 294

Personalizar vistas en el panel de administración ……………………………………… 297

Generar facturas en PDF dinámicamente …………………………………………………. 302

Instalar WeasyPrint ……………………………………………………………………….. 303

Crear una plantilla PDF ………………………………………………………………… 303

Renderizar ficheros PDF ……………………………………………………………………. 304

Enviar ficheros PDF por email ………………………………………………………… 308

Resumen …………………………………………………………………………………………….. 310

9. Extensión de tienda online …………………………………………………….311

Creación de un sistema de cupones…………………………………………………………. 311

Modelos para cupones …………………………………………………………………… 312

Aplicar un cupón al carro de la compra …………………………………………… 314

Aplicar cupones a órdenes …………………………………………………………….. 322

Añadir internacionalización y localización ………………………………………………. 324

Internacionalización con Django ……………………………………………………. 325

Configuración de internacionalización y localización …………………. 325

Determinar el idioma en Django ………………………………………………. 326

Preparar el proyecto para internacionalización …………………………………. 327

Traducir código Python …………………………………………………………………. 329

Traducción estándar ……………………………………………………………….. 329

Traducciones perezosas ………………………………………………………….. 329

Traducciones incluyendo variables …………………………………………… 329

Traducción de plurales ……………………………………………………………. 330

Traducción de código …………………………………………………………….. 330

Traducir plantillas ………………………………………………………………………… 335

La etiqueta de plantilla {% trans %} ………………………………………… 335

La etiqueta de plantilla {% blocktrans %} …………………………………. 336

Traducir plantillas de la tienda …………………………………………………. 337

Rosetta: Interfaz de traducción ………………………………………………………. 340

Traducciones perezosas ………………………………………………………………… 343

Patrones de URL para internacionalización ……………………………………… 344

Añadir un prefijo de idioma al patrón de URL …………………………… 344

Traducir patrones de URL ………………………………………………………. 345

Permitir cambio de idioma a los usuarios ………………………………………… 347

Traducción de modelos con django-parler ……………………………………….. 348

Instalar django-parler ……………………………………………………………… 349

Traducir campos de modelo …………………………………………………….. 350

Integrar traducciones en el panel de administración ……………………. 352

Crear migraciones para traducciones de modelos ……………………….. 353

Adaptar vista para traducciones ……………………………………………….. 355

Formato localizado……………………………………………………………………….. 358

Validar campos de formulario con django-localflavor ………………………. 359

Crear un sistema de recomendación ………………………………………………………… 360

Recomendar productos en base a compras anteriores ………………………… 361

Resumen …………………………………………………………………………………………….. 370

10. Construir una plataforma e-learning ……………………………………..371

Configurar el proyecto e-learning …………………………………………………………… 371

Construir el modelo curso ……………………………………………………………………… 373

Registrar los modelos en el sitio de administración …………………………… 375

Usar fixtures para crear datos iniciales para los modelos …………………… 376

Utilizar modelos para contenido diverso …………………………………………………. 379

Utilizar herencia de modelos …………………………………………………………. 380

Modelos abstractos ………………………………………………………………… 381

Herencia multitabla de modelos ………………………………………………. 381

Modelos Proxy ………………………………………………………………………. 382

Crear los modelos de contenido ……………………………………………………… 383

Campos de modelo personalizados …………………………………………………. 385

Añadir orden a objetos de módulos y contenidos ……………………………… 388

Crear un CMS ……………………………………………………………………………………… 393

Añadir un sistema de autenticación ……………………………………………………. 393

Crear las plantillas de autenticación …………………………………………………… 393

Crear vistas basadas en clases ……………………………………………………………. 397

Utilizar mixins para las vistas basadas en clases ………………………………. 397

Trabajar con grupos y permisos ……………………………………………………… 400

Restringir el acceso a las vistas basadas en clases ………………………. 402

Gestionar módulos y contenido de los cursos …………………………………………… 408

Utilizar conjuntos de formularios para los módulos del curso ……………… 408

Añadir contenido a los módulos de un curso ……………………………………. 414

Gestionar módulos y contenidos …………………………………………………….. 420

Reordenar módulos y contenidos ……………………………………………………. 425

Utilizar mixins de django-braces ……………………………………………….. 425

Resumen …………………………………………………………………………………………….. 430

11. Renderizar y cachear contenido ……………………………………………431

Mostrar cursos ……………………………………………………………………………………… 431

Añadir el registro de estudiantes …………………………………………………………….. 437

Crear una vista de registro para estudiantes ………………………………………… 437

Inscribir estudiantes en cursos ……………………………………………………………. 440

Acceder al contenido del curso ………………………………………………………………. 443

Renderizar diferentes tipos de contenido …………………………………………. 447

Utilizar el sistema de caché ……………………………………………………………………. 451

Sistemas de caché disponibles ……………………………………………………….. 452

Instalar Memcached ……………………………………………………………………… 452

Configurar la caché ………………………………………………………………………. 453

Añadir Memcached al proyecto ……………………………………………………… 454

Monitorizar Memcached …………………………………………………………. 454

Niveles de caché ………………………………………………………………………….. 455

Usar la API de caché de bajo nivel …………………………………………………. 456

Cachear basándose en datos dinámicos …………………………………….. 459

Cachear fragmentos de plantilla ……………………………………………………… 460

Cachear vistas ……………………………………………………………………………… 461

Usar caché a nivel de sitio web……………………………………………………. 462

Resumen …………………………………………………………………………………………….. 463

12. Construir una API ……………………………………………………………….465

Construir una API RESTful …………………………………………………………………… 465

Instalar Django REST framework …………………………………………………… 466

Definir serializadores ……………………………………………………………………. 467

Entender los parsers y renderers …………………………………………………….. 468

Construir vistas de listado y detalle ………………………………………………… 470

Crear serializadores anidados…………………………………………………………. 472

Crear vistas personalizadas ……………………………………………………………. 474

Gestionar la autenticación de usuarios …………………………………………….. 475

Añadir permisos a vistas ……………………………………………………………….. 477

Crear conjuntos de vistas y enrutadores …………………………………………… 479

Añadir acciones adicionales a conjuntos de vistas …………………………….. 480

Crear permisos personalizados……………………………………………………….. 481

Serializar contenidos de cursos ………………………………………………………. 482

Resumen …………………………………………………………………………………………….. 485

13. Lanzamiento en producción …………………………………………………487

Crear un entorno de producción ……………………………………………………………………… 487

Configuración para distintos entornos …………………………………………….. 487

Utilizar PostgreSQL ……………………………………………………………………… 491

Comprobar su proyecto …………………………………………………………………. 492

Servir Django mediante WSGI ………………………………………………………. 492

Instalar uWSGI ……………………………………………………………………………. 493

Configurar uWSGI ……………………………………………………………………….. 493

Instalar NGINX ……………………………………………………………………………. 496

El entorno de producción ………………………………………………………………. 496

Configurar NGINX ………………………………………………………………………. 497

Servir archivos estáticos y media ……………………………………………………. 499

Securizar conexiones con SSL ……………………………………………………….. 500

Crear un certificado SSL …………………………………………………………. 500

Configurar NGINX para utilizar SSL ……………………………………….. 501

Configurar su proyecto con SSL ………………………………………………. 503

Crear un middleware a medida ………………………………………………………………… 503

Crear un middleware para gestionar subdominios ………………………………. 505

Servir múltiples dominios con NGINX ………………………………………………. 507

Comandos de administración personalizados …………………………………………… 507

Resumen …………………………………………………………………………………………….. 511

Información adicional

Peso 1.2 kg
Dimensiones 23 × 17 × 3 cm

Título

Ir a Arriba