Читать книгу Django 2 - Antonio Melé - Страница 7

Contenido

Оглавление

Prefacio

1. Crear un blog

Instalar Django

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

Añadir paginación

Usar vistas basadas en clase

Resumen

2. Funciones avanzadas del blog

Compartir artículos por email

Crear formularios en Django

Usar formularios en vistas

Enviar emails con Django

Renderizar formularios en plantillas

Crear un sistema de comentarios

Crear formularios de un modelo

Funcionamiento de ModelForms en vistas

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

Añadir funcionalidad de etiquetado

Recuperar artículos por similitud

Resumen

3. Extensiones para el blog

Crear filtros y etiquetas de plantilla personalizados

Crear etiquetas de plantilla personalizadas

Crear filtros de plantilla personalizados

Añadir un mapa de sitio

Sistema de feeds

Crear un sistema de búsqueda para el blog

Instalar PostgreSQL

Búsquedas sencillas

Búsqueda sobre múltiples campos

Construir una vista de búsqueda

Lematización y resultados por semejanza

Orden de relevancia en búsquedas

Búsquedas por similitud de trigrama

Otros motores de búsqueda de texto completo

Resumen

4. Construir una aplicación social

Crear un proyecto de red social

Iniciar el proyecto de red social

Utilizar el sistema de autenticación de Django

Crear una vista de inicio de sesión

Utilizar las vistas de autenticación de Django

Vistas para iniciar y cerrar sesión

Vistas para modificar la contraseña

Vistas para restaurar la contraseña

Registro y perfiles de usuario

Registro de usuarios

Extender el modelo de usuario

Usar un modelo de usuario personalizado

Utilizar el sistema de mensajes

Crear un backend de autenticación personalizado

Añadir autenticación social a la web

Autenticación mediante Facebook

Autenticación mediante Twitter

Autenticación mediante Google

Resumen

5. Compartir contenido en su web

Crear un sitio web para compartir imágenes

Construir el modelo imagen

Crear relaciones muchos a muchos

Registrar el modelo imagen en el portal de administración

Enviar contenido desde otros sitios web

Validar campos de formulario

Sobrescribir el método save() de un ModelForm

Elaborar un bookmarklet con jQuery

Crear una vista de detalle para las imágenes

Crear miniatura de imágenes utilizando sorl-thumbnail

Añadir acciones AJAX con jQuery

Cargar jQuery

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

Realizar peticiones AJAX con jQuery

Crear decorados para vistas

Añadir paginación AJAX a listados

Resumen

6. Seguimiento de acciones de usuario

Construir un sistema de seguidores

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

Crear vistas de listado y detalle para perfiles de usuario

Construir una vista AJAX para seguir usuarios

Construir un feed de actividad

Utilizar el sistema de contenttypes

Añadir relaciones genéricas a modelos

Evitar registrar acciones duplicadas

Añadir acciones de usuario al registro de actividad

Mostrar el registro de actividad

Optimizar QuerySets que involucran objetos relacionados

Utilizar select_related()

Utilizar prefetch_related()

Crear plantillas parea acciones

Usar señales para desnormalizar conteos

Trabajar con señales

Clases de configuración de aplicaciones

Usar Redis para contabilizar visualizaciones

Instalar Redis

Usar Redis con Python

Almacenamiento total de visualizaciones en Redis

Almacenar un ranking en Redis

Siguientes pasos con Redis

Resumen

7. Construir una tienda online

Crear un proyecto de tienda online

Modelo de catálogo de productos

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

Construir vistas de catálogo

Crear plantillas de catálogo

Construir un carro de la compra

Sistema de sesiones en Django

Configuración de sesión

Expiración de sesión

Almacenar carros de compra en sesión

Vistas para el carro de la compra

Añadir elementos al carro

Construir una plantilla para mostrar el carro

Añadir productos al carro

Modificar la cantidad de producto en el carro

Crear un procesador de contexto para el carro actual

Registrar órdenes de clientes

Crear modelo de órdenes

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

Crear órdenes de clientes

Ejecutar tareas asíncronas con Celery

Instalar Celery

Instalar RabbitMQ

Añadir Celery al proyecto

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

Monitorizar Celery

Resumen

8. Gestión de pagos y pedidos

Integrar una pasarela de pago

Crear una cuenta de prueba en Braintree

Instalar el módulo Python de Braintree

Integrar la pasarela de pago

Integrar Braintree con Hosted Fields

Probar los pagos

Desplegando en producción

Exportar órdenes de pedido a CSV

Añadir acciones en el panel de administración

Personalizar vistas en el panel de administración

Generar facturas en PDF dinámicamente

Instalar WeasyPrint

Crear una plantilla PDF

Renderizar ficheros PDF

Enviar ficheros PDF por email

Resumen

9. Extensión de tienda online

Creación de un sistema de cupones

Modelos para cupones

Aplicar un cupón al carro de la compra

Aplicar cupones a órdenes

Añadir internacionalización y localización

Internacionalización con Django

Configuración de internacionalización y localización

Determinar el idioma en Django

Preparar el proyecto para internacionalización

Traducir código Python

Traducción estándar

Traducciones perezosas

Traducciones incluyendo variables

Traducción de plurales

Traducción de código

Traducir plantillas

La etiqueta de plantilla {% trans %}

La etiqueta de plantilla {% blocktrans %}

Traducir plantillas de la tienda

Rosetta: Interfaz de traducción

Traducciones perezosas

Patrones de URL para internacionalización

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

Traducir patrones de URL

Permitir cambio de idioma a los usuarios

Traducción de modelos con django-parler

Instalar django-parler

Traducir campos de modelo

Integrar traducciones en el panel de administración

Crear migraciones para traducciones de modelos

Adaptar vista para traducciones

Formato localizado

Validar campos de formulario con django-localflavor

Crear un sistema de recomendación

Recomendar productos en base a compras anteriores

Resumen

10. Construir una plataforma e-learning

Configurar el proyecto e-learning

Construir el modelo curso

Registrar los modelos en el sitio de administración

Usar fixtures para crear datos iniciales para los modelos

Utilizar modelos para contenido diverso

Utilizar herencia de modelos

Modelos abstractos

Herencia multitabla de modelos

Modelos Proxy

Crear los modelos de contenido

Campos de modelo personalizados

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

Crear un CMS

Añadir un sistema de autenticación

Crear las plantillas de autenticación

Crear vistas basadas en clases

Utilizar mixins para las vistas basadas en clases

Trabajar con grupos y permisos

Restringir el acceso a las vistas basadas en clases

Gestionar módulos y contenido de los cursos

Utilizar conjuntos de formularios para los módulos del curso

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

Gestionar módulos y contenidos

Reordenar módulos y contenidos

Utilizar mixins de django-braces

Resumen

11. Renderizar y cachear contenido

Mostrar cursos

Añadir el registro de estudiantes

Crear una vista de registro para estudiantes

Inscribir estudiantes en cursos

Acceder al contenido del curso

Renderizar diferentes tipos de contenido

Utilizar el sistema de caché

Sistemas de caché disponibles

Instalar Memcached

Configurar la caché

Añadir Memcached al proyecto

Monitorizar Memcached

Niveles de caché

Usar la API de caché de bajo nivel

Cachear basándose en datos dinámicos

Cachear fragmentos de plantilla

Cachear vistas

Usar caché a nivel de sitio web

Resumen

12. Construir una API

Construir una API RESTful

Instalar Django REST framework

Definir serializadores

Entender los parsers y renderers

Construir vistas de listado y detalle

Crear serializadores anidados

Crear vistas personalizadas

Gestionar la autenticación de usuarios

Añadir permisos a vistas

Crear conjuntos de vistas y enrutadores

Añadir acciones adicionales a conjuntos de vistas

Crear permisos personalizados

Serializar contenidos de cursos

Resumen

13. Lanzamiento en producción

Crear un entorno de producción

Configuración para distintos entornos

Utilizar PostgreSQL

Comprobar su proyecto

Servir Django mediante WSGI

Instalar uWSGI

Configurar uWSGI

Instalar NGINX

El entorno de producción

Configurar NGINX

Servir archivos estáticos y media

Securizar conexiones con SSL

Crear un certificado SSL

Configurar NGINX para utilizar SSL

Configurar su proyecto con SSL

Crear un middleware a medida

Crear un middleware para gestionar subdominios

Servir múltiples dominios con NGINX

Comandos de administración personalizados

Resumen

Django 2

Подняться наверх