Читать книгу Django 2 - Antonio Melé - Страница 7
Contenido
ОглавлениеCrear un entorno de desarrollo Python
Arrancar el servidor de desarrollo
Sitio de administración para los modelos
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
Valiéndose del método filter()
Cuándo se evalúan los QuerySets
Elaborar listas de detalle y listado
Creación de vistas de detalle y listado
Añadir patrones de URL para las vistas
2. Funciones avanzadas del blog
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
Crear filtros y etiquetas de plantilla personalizados
Crear etiquetas de plantilla personalizadas
Crear filtros de plantilla personalizados
Crear un sistema de búsqueda para el blog
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
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
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
5. Compartir contenido en su web
Crear un sitio web para compartir imágenes
Crear relaciones muchos a muchos
Registrar el modelo imagen en el portal de administración
Enviar contenido desde otros sitios web
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
Falsificación de petición en sitios cruzados con AJAX
Realizar peticiones AJAX con jQuery
Añadir paginación AJAX a listados
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
Crear plantillas parea acciones
Usar señales para desnormalizar conteos
Clases de configuración de aplicaciones
Usar Redis para contabilizar visualizaciones
Almacenamiento total de visualizaciones en Redis
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 un carro de la compra
Almacenar carros de compra en sesión
Vistas para el carro de la compra
Construir una plantilla para mostrar el carro
Modificar la cantidad de producto en el carro
Crear un procesador de contexto para el carro actual
Añadir los modelos de órdenes al panel de administración
Ejecutar tareas asíncronas con Celery
Añadir tareas asíncronas a su aplicación
Crear una cuenta de prueba en Braintree
Instalar el módulo Python de Braintree
Integrar Braintree con Hosted Fields
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
Creación de un sistema de cupones
Aplicar un cupón al carro de la compra
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
Traducciones incluyendo variables
La etiqueta de plantilla {% trans %}
La etiqueta de plantilla {% blocktrans %}
Traducir plantillas de la tienda
Rosetta: Interfaz de traducción
Patrones de URL para internacionalización
Añadir un prefijo de idioma al patrón de URL
Permitir cambio de idioma a los usuarios
Traducción de modelos con django-parler
Integrar traducciones en el panel de administración
Crear migraciones para traducciones de modelos
Adaptar vista para traducciones
Validar campos de formulario con django-localflavor
Crear un sistema de recomendación
Recomendar productos en base a compras anteriores
10. Construir una plataforma e-learning
Configurar el proyecto e-learning
Registrar los modelos en el sitio de administración
Usar fixtures para crear datos iniciales para los modelos
Utilizar modelos para contenido diverso
Herencia multitabla de modelos
Crear los modelos de contenido
Campos de modelo personalizados
Añadir orden a objetos de módulos y contenidos
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
11. Renderizar y cachear contenido
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
Usar la API de caché de bajo nivel
Cachear basándose en datos dinámicos
Cachear fragmentos de plantilla
Usar caché a nivel de sitio web
Instalar Django REST framework
Entender los parsers y renderers
Construir vistas de listado y detalle
Gestionar la autenticación de usuarios
Crear conjuntos de vistas y enrutadores
Añadir acciones adicionales a conjuntos de vistas
Serializar contenidos de cursos
Crear un entorno de producción
Configuración para distintos entornos
Servir archivos estáticos y media
Configurar NGINX para utilizar SSL
Configurar su proyecto con SSL
Crear un middleware para gestionar subdominios
Servir múltiples dominios con NGINX