¡Oferta!

Django 2

21,99 46,75 

Otras opciones
Accede gratis al libro
29,95 

En Stock

  • ISBN: 9788426727480
  • Tipo de Encuadernación: Tapa blanda o bolsillo
  • Dimensiones de producto: 17x3x24
  • Número de páginas: 530
21,99 

Producto virtual

  • E-Book ISBN: 9788426728661
46,75 

En Stock

  • ISBN: 9788426727480
  • Tipo de Encuadernación: Tapa blanda o bolsillo
  • Dimensiones de producto: 17x3x24
  • Número de páginas: 530
  • E-Book ISBN: 9788426728661

Libro físico

  • Envíos a todo el mundo
  • Suscriptores obtienen descuentos en la compra de libros físicos, envíos gratuitos en España Peninsular y Baleares y acceso a todo el catálogo digital de Marcombo.
    ¿No estás suscrito? ¡Suscríbte!

eBook

  • Accede al eBook a través de nuestra plataforma digital.
  • Lee online y offline en cualquier dispositivo móvil con nuestra app de lectura.
  • Resalta, crea notas, extrae citas, traduce y busca en el diccionario, todo a través de nuestro lector inmersivo.

Libro físico + eBook

  • Envíos a todo el mundo
  • Accede al eBook a través de nuestra plataforma digital.
  • Lee online y offline en cualquier dispositivo móvil con nuestra app de lectura.
  • Resalta, crea notas, extrae citas, traduce y busca en el diccionario, todo a través de nuestro lector inmersivo.

Suscriptores obtienen descuentos en la compra de libros físicos, envíos gratuitos en toda España y acceso a todo el catálogo digital de Marcombo.
¿No estás suscripto? ¡Suscríbete!

Suscripción

  • Prueba gratis por 7 días. Planes desde 7,99 €/ mes
  • Accede a todo el catálogo de Marcombo
  • Lectura online y offline
  • Acceso a contenidos previos a su publicación
  • Envíos gratuitos y descuentos especiales para compras en la tienda

Suscribirse
Suscribirse
¿Quieres un descuento? ¡Hazte en miembro!

Más información

Descripción

Índice

Detalles

Colecciones

Categorías

Características

  • Autor: Melé, Antonio
  • Fecha de publicación: 25/10/2019

Descripción

Descubra el proceso completo para desarrollar aplicaciones web profesionales con Django. Este libro le guiará a 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.

A lo largo de la lectura aprenderá a construir una aplicación blog, un sitio web social para compartir imágenes, una tienda online y una plataforma e-learning. El libro 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. Al finalizar el libro, dispondrá de un conocimiento profundo sobre cómo construir aplicaciones web avanzadas con Django.

Contenidos del libro:

  • Crear proyectos web profesionales con Django
  • Utilizar Django con otras tecnologías como Redis y Celery
  • Desarrollar aplicaciones Django reutilizables
  • Crear funcionalidades avanzadas, optimizar código y utilizar la caché
  • Añadir internacionalización a proyectos Django
  • Mejorar la experiencia de usuario utilizando JavaScript y AJAX
  • Añadir funcionalidades sociales a los proyectos
  • Construir APIs REST para exponer funcionalidades a terceros

Información adicional

Peso0,95 kg
Dimensiones24 × 17 × 3 cm

Content missing

Índice

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