Django 2
Sinopsis del producto
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. n nEsta 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. n nComo 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. n nVENTAJAS n n• Este libro representa una guía completa para realizar aplicaciones web profesionales con Django. n• Mejorar la experiencia de usuario utilizando JavaScript y AJAX. n• Cuenta con ejemplos prácticos. n• Contiene material de apoyo en la web. n nCONOZCA n n• Cómo desarrollar aplicaciones Django reutilizables. n• Cómo construir APIs REST para exponer funcionalidades a terceros. n• Cómo crear un blog, una aplicación social, compartir contenido web, dar seguimiento de usuario, renderizar y cachear contenido. n nAPRENDA n n• A utilizar Django con otras tecnologías como Redis y Celery para construir una tienda online. n• A construir una plataforma e-learning. n• Crear un middleware para gestionar subdominios. n• A crear funcionalidades avanzadas, optimizar código y a utilizar la caché. n nDESARROLLE SUS HABILIDADES PARA n n• Añadir internacionalización a proyectos Django. n• Añadir funcionalidades sociales a los proyectos. n• Dominar las funciones más relevantes del framework creando proyectos completos desde cero. n nPrefacio ………………………………………………………………………………….. xvii n1. Crear un blog …………………………………………………………………………. 1 nInstalar Django ………………………………………………………………………………………… 1 nCrear un entorno de desarrollo Python …………………………………………………….. 2 nInstalar Django mediante pip ………………………………………………………………….. 4 nCrear el primer proyecto …………………………………………………………………………… 4 nArrancar el servidor de desarrollo ………………………………………………………. 6 nConfiguración del proyecto ……………………………………………………………….. 8 nProyecto y aplicaciones …………………………………………………………………….. 9 nCrear una aplicación ……………………………………………………………………….. 10 nEsquema de datos del blog ………………………………………………………………………. 10 nActivar la aplicación …………………………………………………………………………….. 13 nCrear y activar migraciones …………………………………………………………………… 14 nSitio de administración para los modelos ………………………………………………….. 15 nCrear un superusuario …………………………………………………………………………… 16 nEl sitio de administración de Django ……………………………………………………… 16 nAñadir modelos al sitio de administración ……………………………………………… 17 nPersonalizar la vista de modelos ……………………………………………………………. 19 nTrabajando con QuerySets y Managers …………………………………………………….. 21 nCrear objetos ……………………………………………………………………………………….. 21 nActualizar objetos ………………………………………………………………………………… 23 nRecuperar objetos ………………………………………………………………………………… 23 nValiéndose del método filter() ………………………………………………………… 24 nUso de exclude() …………………………………………………………………………… 24 nUso de order_by() …………………………………………………………………………. 24 nEliminar objetos …………………………………………………………………………………… 25 nCuándo se evalúan los QuerySets ………………………………………………………….. 25 nCrear gestores de modelos …………………………………………………………………….. 25 nElaborar listas de detalle y listado…………………………………………………………….. 26 nCreación de vistas de detalle y listado ……………………………………………………. 27 nAñadir patrones de URL para las vistas ………………………………………………….. 28 nCrear plantillas para vistas ………………………………………………………………………. 30 nAñadir paginación ………………………………………………………………………………….. 34 nUsar vistas basadas en clase …………………………………………………………………….. 36 nResumen ………………………………………………………………………………………………. 38 n2. Funciones avanzadas del blog …………………………………………………. 39 nCompartir artículos por email ………………………………………………………………….. 39 nCrear formularios en Django……………………………………………………………. 40 nUsar formularios en vistas ………………………………………………………………. 41 nEnviar emails con Django ……………………………………………………………….. 43 nRenderizar formularios en plantillas …………………………………………………. 46 nCrear un sistema de comentarios ……………………………………………………………… 50 nCrear formularios de un modelo ………………………………………………………. 52 nFuncionamiento de ModelForms en vistas ………………………………………… 53 nAñadir comentarios a la plantilla de detalle de artículos …………………………. 55 nAñadir funcionalidad de etiquetado ………………………………………………………….. 58 nRecuperar artículos por similitud ……………………………………………………………… 64 nResumen ………………………………………………………………………………………………. 67 n3. Extensiones para el blog ………………………………………………………… 69 nCrear filtros y etiquetas de plantilla personalizados ……………………………………. 69 nCrear etiquetas de plantilla personalizadas ………………………………………… 69 nCrear filtros de plantilla personalizados …………………………………………….. 75 nAñadir un mapa de sitio ………………………………………………………………………….. 78 nSistema de feeds …………………………………………………………………………………….. 81 nCrear un sistema de búsqueda para el blog ………………………………………………… 84 nInstalar PostgreSQL ………………………………………………………………………… 85 nBúsquedas sencillas ……………………………………………………………………….. 86 nBúsqueda sobre múltiples campos …………………………………………………………. 87 nConstruir una vista de búsqueda ………………………………………………………. 87 nLematización y resultados por semejanza ………………………………………….. 90 nOrden de relevancia en búsquedas ……………………………………………………. 91 nBúsquedas por similitud de trigrama ……………………………………………………. 92 nOtros motores de búsqueda de texto completo …………………………………… 93 nResumen ………………………………………………………………………………………………. 93 n4. Construir una aplicación social ……………………………………………….. 95 nCrear un proyecto de red social ……………………………………………………………….. 95 nIniciar el proyecto de red social …………………………………………………………… 96 nUtilizar el sistema de autenticación de Django …………………………………………… 97 nCrear una vista de inicio de sesión ……………………………………………………. 98 nUtilizar las vistas de autenticación de Django ………………………………….. 104 nVistas para iniciar y cerrar sesión …………………………………………………… 105 nVistas para modificar la contraseña ………………………………………………… 111 nVistas para restaurar la contraseña ………………………………………………….. 114 nRegistro y perfiles de usuario ………………………………………………………………… 119 nRegistro de usuarios ……………………………………………………………………… 119 nExtender el modelo de usuario ……………………………………………………….. 123 nUsar un modelo de usuario personalizado …………………………………. 130 nUtilizar el sistema de mensajes ………………………………………………………. 130 nCrear un backend de autenticación personalizado …………………………………….. 133 nAñadir autenticación social a la web ……………………………………………………….. 136 nAutenticación mediante Facebook …………………………………………………….. 138 nAutenticación mediante Twitter ………………………………………………………… 143 nAutenticación mediante Google ………………………………………………………… 145 nResumen …………………………………………………………………………………………….. 148 n5. Compartir contenido en su web ………………………………………………149 nCrear un sitio web para compartir imágenes …………………………………………….. 150 nConstruir el modelo imagen …………………………………………………………… 150 nCrear relaciones muchos a muchos ……………………………………………………… 152 nRegistrar el modelo imagen en el portal de administración ………………… 153 nEnviar contenido desde otros sitios web ………………………………………………….. 154 nValidar campos de formulario ………………………………………………………… 155 nSobrescribir el método save() de un ModelForm ………………………………. 156 nElaborar un bookmarklet con jQuery ………………………………………………. 160 nCrear una vista de detalle para las imágenes …………………………………………….. 170 nCrear miniatura de imágenes utilizando sorl-thumbnail …………………………….. 173 nAñadir acciones AJAX con jQuery …………………………………………………………. 174 nCargar jQuery ……………………………………………………………………………… 176 nFalsificación de petición en sitios cruzados con AJAX ……………………… 177 nRealizar peticiones AJAX con jQuery …………………………………………….. 179 nCrear decorados para vistas …………………………………………………………………… 183 nAñadir paginación AJAX a listados ………………………………………………………… 184 nResumen …………………………………………………………………………………………….. 189 n6. Seguimiento de acciones de usuario ………………………………………..191 nConstruir un sistema de seguidores …………………………………………………………. 191 nCrear relaciones muchos a muchos a través de un model intermedio …… 192 nCrear vistas de listado y detalle para perfiles de usuario ……………………. 196 nConstruir una vista AJAX para seguir usuarios ………………………………… 201 nConstruir un feed de actividad ……………………………………………………………….. 203 nUtilizar el sistema de contenttypes ………………………………………………….. 204 nAñadir relaciones genéricas a modelos ……………………………………………. 206 nEvitar registrar acciones duplicadas ………………………………………………… 209 nAñadir acciones de usuario al registro de actividad …………………………… 211 nMostrar el registro de actividad ……………………………………………………… 212 nOptimizar QuerySets que involucran objetos relacionados ………………… 213 nUtilizar select_related()…………………………………………………………… 213 nUtilizar prefetch_related() ……………………………………………………….. 214 nCrear plantillas parea acciones ……………………………………………………….. 214 nUsar señales para desnormalizar conteos …………………………………………………. 216 nTrabajar con señales ……………………………………………………………………… 217 nClases de configuración de aplicaciones ………………………………………….. 220 nUsar Redis para contabilizar visualizaciones ……………………………………………… 222 nInstalar Redis ………………………………………………………………………………. 222 nUsar Redis con Python ………………………………………………………………….. 224 nAlmacenamiento total de visualizaciones en Redis …………………………… 226 nAlmacenar un ranking en Redis ……………………………………………………… 228 nSiguientes pasos con Redis ……………………………………………………………. 230 nResumen …………………………………………………………………………………………….. 231 n7. Construir una tienda online ……………………………………………………233 nCrear un proyecto de tienda online …………………………………………………………. 233 nModelo de catálogo de productos …………………………………………………… 234 nRegistrar el catálogo en el panel de administración …………………………… 237 nConstruir vistas de catálogo ……………………………………………………………. 239 nCrear plantillas de catálogo ……………………………………………………………. 241 nConstruir un carro de la compra ……………………………………………………………… 246 nSistema de sesiones en Django ………………………………………………………. 246 nConfiguración de sesión ………………………………………………………………… 247 nExpiración de sesión …………………………………………………………………….. 249 nAlmacenar carros de compra en sesión ……………………………………………. 249 nVistas para el carro de la compra ……………………………………………………. 254 nAñadir elementos al carro ……………………………………………………….. 254 nConstruir una plantilla para mostrar el carro ……………………………… 257 nAñadir productos al carro ……………………………………………………….. 259 nModificar la cantidad de producto en el carro ……………………………. 260 nCrear un procesador de contexto para el carro actual ………………………… 262 nRegistrar órdenes de clientes …………………………………………………………………. 264 nCrear modelo de órdenes ………………………………………………………………. 264 nAñadir los modelos de órdenes al panel de administración ………………… 266 nCrear órdenes de clientes ………………………………………………………………. 267 nEjecutar tareas asíncronas con Celery ……………………………………………………… 272 nInstalar Celery ……………………………………………………………………………… 272 nInstalar RabbitMQ ……………………………………………………………………….. 273 nAñadir Celery al proyecto ……………………………………………………………… 273 nAñadir tareas asíncronas a su aplicación ………………………………………….. 275 nMonitorizar Celery ……………………………………………………………………….. 277 nResumen …………………………………………………………………………………………….. 277 n8. Gestión de pagos y pedidos ……………………………………………………279 nIntegrar una pasarela de pago ………………………………………………………………… 279 nCrear una cuenta de prueba en Braintree …………………………………………. 280 nInstalar el módulo Python de Braintree ……………………………………………. 281 nIntegrar la pasarela de pago …………………………………………………………… 282 nIntegrar Braintree con Hosted Fields ………………………………………… 284 nProbar los pagos …………………………………………………………………………… 291 nDesplegando en producción …………………………………………………………… 293 nExportar órdenes de pedido a CSV ………………………………………………………………. 294 nAñadir acciones en el panel de administración …………………………………. 294 nPersonalizar vistas en el panel de administración ……………………………………… 297 nGenerar facturas en PDF dinámicamente …………………………………………………. 302 nInstalar WeasyPrint ……………………………………………………………………….. 303 nCrear una plantilla PDF ………………………………………………………………… 303 nRenderizar ficheros PDF ……………………………………………………………………. 304 nEnviar ficheros PDF por email ………………………………………………………… 308 nResumen …………………………………………………………………………………………….. 310 n9. Extensión de tienda online …………………………………………………….311 nCreación de un sistema de cupones…………………………………………………………. 311 nModelos para cupones …………………………………………………………………… 312 nAplicar un cupón al carro de la compra …………………………………………… 314 nAplicar cupones a órdenes …………………………………………………………….. 322 nAñadir internacionalización y localización ………………………………………………. 324 nInternacionalización con Django ……………………………………………………. 325 nConfiguración de internacionalización y localización …………………. 325 nDeterminar el idioma en Django ………………………………………………. 326 nPreparar el proyecto para internacionalización …………………………………. 327 nTraducir código Python …………………………………………………………………. 329 nTraducción estándar ……………………………………………………………….. 329 nTraducciones perezosas ………………………………………………………….. 329 nTraducciones incluyendo variables …………………………………………… 329 nTraducción de plurales ……………………………………………………………. 330 nTraducción de código …………………………………………………………….. 330 nTraducir plantillas ………………………………………………………………………… 335 nLa etiqueta de plantilla {% trans %} ………………………………………… 335 nLa etiqueta de plantilla {% blocktrans %} …………………………………. 336 nTraducir plantillas de la tienda …………………………………………………. 337 nRosetta: Interfaz de traducción ………………………………………………………. 340 nTraducciones perezosas ………………………………………………………………… 343 nPatrones de URL para internacionalización ……………………………………… 344 nAñadir un prefijo de idioma al patrón de URL …………………………… 344 nTraducir patrones de URL ………………………………………………………. 345 nPermitir cambio de idioma a los usuarios ………………………………………… 347 nTraducción de modelos con django-parler ……………………………………….. 348 nInstalar django-parler ……………………………………………………………… 349 nTraducir campos de modelo …………………………………………………….. 350 nIntegrar traducciones en el panel de administración ……………………. 352 nCrear migraciones para traducciones de modelos ……………………….. 353 nAdaptar vista para traducciones ……………………………………………….. 355 nFormato localizado……………………………………………………………………….. 358 nValidar campos de formulario con django-localflavor ………………………. 359 nCrear un sistema de recomendación ………………………………………………………… 360 nRecomendar productos en base a compras anteriores ………………………… 361 nResumen …………………………………………………………………………………………….. 370 n10. Construir una plataforma e-learning ……………………………………..371 nConfigurar el proyecto e-learning …………………………………………………………… 371 nConstruir el modelo curso ……………………………………………………………………… 373 nRegistrar los modelos en el sitio de administración …………………………… 375 nUsar fixtures para crear datos iniciales para los modelos …………………… 376 nUtilizar modelos para contenido diverso …………………………………………………. 379 nUtilizar herencia de modelos …………………………………………………………. 380 nModelos abstractos ………………………………………………………………… 381 nHerencia multitabla de modelos ………………………………………………. 381 nModelos Proxy ………………………………………………………………………. 382 nCrear los modelos de contenido ……………………………………………………… 383 nCampos de modelo personalizados …………………………………………………. 385 nAñadir orden a objetos de módulos y contenidos ……………………………… 388 nCrear un CMS ……………………………………………………………………………………… 393 nAñadir un sistema de autenticación ……………………………………………………. 393 nCrear las plantillas de autenticación …………………………………………………… 393 nCrear vistas basadas en clases ……………………………………………………………. 397 nUtilizar mixins para las vistas basadas en clases ………………………………. 397 nTrabajar con grupos y permisos ……………………………………………………… 400 nRestringir el acceso a las vistas basadas en clases ………………………. 402 nGestionar módulos y contenido de los cursos …………………………………………… 408 nUtilizar conjuntos de formularios para los módulos del curso ……………… 408 nAñadir contenido a los módulos de un curso ……………………………………. 414 nGestionar módulos y contenidos …………………………………………………….. 420 nReordenar módulos y contenidos ……………………………………………………. 425 nUtilizar mixins de django-braces ……………………………………………….. 425 nResumen …………………………………………………………………………………………….. 430 n11. Renderizar y cachear contenido ……………………………………………431 nMostrar cursos ……………………………………………………………………………………… 431 nAñadir el registro de estudiantes …………………………………………………………….. 437 nCrear una vista de registro para estudiantes ………………………………………… 437 nInscribir estudiantes en cursos ……………………………………………………………. 440 nAcceder al contenido del curso ………………………………………………………………. 443 nRenderizar diferentes tipos de contenido …………………………………………. 447 nUtilizar el sistema de caché ……………………………………………………………………. 451 nSistemas de caché disponibles ……………………………………………………….. 452 nInstalar Memcached ……………………………………………………………………… 452 nConfigurar la caché ………………………………………………………………………. 453 nAñadir Memcached al proyecto ……………………………………………………… 454 nMonitorizar Memcached …………………………………………………………. 454 nNiveles de caché ………………………………………………………………………….. 455 nUsar la API de caché de bajo nivel …………………………………………………. 456 nCachear basándose en datos dinámicos …………………………………….. 459 nCachear fragmentos de plantilla ……………………………………………………… 460 nCachear vistas ……………………………………………………………………………… 461 nUsar caché a nivel de sitio web……………………………………………………. 462 nResumen …………………………………………………………………………………………….. 463 n12. Construir una API ……………………………………………………………….465 nConstruir una API RESTful …………………………………………………………………… 465 nInstalar Django REST framework …………………………………………………… 466 nDefinir serializadores ……………………………………………………………………. 467 nEntender los parsers y renderers …………………………………………………….. 468 nConstruir vistas de listado y detalle ………………………………………………… 470 nCrear serializadores anidados…………………………………………………………. 472 nCrear vistas personalizadas ……………………………………………………………. 474 nGestionar la autenticación de usuarios …………………………………………….. 475 nAñadir permisos a vistas ……………………………………………………………….. 477 nCrear conjuntos de vistas y enrutadores …………………………………………… 479 nAñadir acciones adicionales a conjuntos de vistas …………………………….. 480 nCrear permisos personalizados……………………………………………………….. 481 nSerializar contenidos de cursos ………………………………………………………. 482 nResumen …………………………………………………………………………………………….. 485 n13. Lanzamiento en producción …………………………………………………487 nCrear un entorno de producción ……………………………………………………………………… 487 nConfiguración para distintos entornos …………………………………………….. 487 nUtilizar PostgreSQL ……………………………………………………………………… 491 nComprobar su proyecto …………………………………………………………………. 492 nServir Django mediante WSGI ………………………………………………………. 492 nInstalar uWSGI ……………………………………………………………………………. 493 nConfigurar uWSGI ……………………………………………………………………….. 493 nInstalar NGINX ……………………………………………………………………………. 496 nEl entorno de producción ………………………………………………………………. 496 nConfigurar NGINX ………………………………………………………………………. 497 nServir archivos estáticos y media ……………………………………………………. 499 nSecurizar conexiones con SSL ……………………………………………………….. 500 nCrear un certificado SSL …………………………………………………………. 500 nConfigurar NGINX para utilizar SSL ……………………………………….. 501 nConfigurar su proyecto con SSL ………………………………………………. 503 nCrear un middleware a medida ………………………………………………………………… 503 nCrear un middleware para gestionar subdominios ………………………………. 505 nServir múltiples dominios con NGINX ………………………………………………. 507 nComandos de administración personalizados …………………………………………… 507 nResumen …………………………………………………………………………………………….. 511
9786075385716
$48.993,00
99999 disponibles

Diseño y construcción de obras de abrigo en talud 



Valoraciones
No hay valoraciones aún.