Django 2. Antonio Melé
Чтение книги онлайн.
Читать онлайн книгу Django 2 - Antonio Melé страница 22
El código anterior funciona del siguiente modo:
1. Se recupera una lista Python de identificadores de las etiquetas del artículo actual. El QuerySet values_list() devuelve tuplas con los valores de los campos especificados. Al pasar el parámetro flat=True, aplana la estructura, resultando: [1, 2, 3, ...].
2. Se recuperan todos los artículos que contengan cualquiera de las etiquetas, excluyendo el artículo actual.
3. Utilizará la agregación Count para generar un campo calculado (same_tags) que contiene el número de etiquetas compartidas de cada artículo con el actual.
4. Se ordenan los resultados por número de etiquetas compartidas (orden descendente) y por el campo publish, para mostrar primero los artículos más recientes en caso de coincidir en número de etiquetas en común. Se limitará a recuperar solo los 4 primeros artículos.
Añadirá el objeto similar_posts al contexto del diccionario de la función render() del siguiente modo:
Va ahora a editar la plantilla blog/post/detail.html y añadir el siguiente código antes de los comentarios del artículo:
Ahora nuestra página de detalle de artículo debería ser semejante a:
Ahora ya puede recomendar artículos a los usuarios. django-taggit también tiene un gestor, similar_objects(), que puede utilizar para recuperar objetos similares que contengan etiquetas en común. Para obtener más información sobre cómo funciona el gestor visite https://djangotaggit.readthedocs.io/en/latest/api.html.
Como último detalle, también puede añadir la lista de etiquetas de la vista de detalle a la plantilla blog/post/list.html.
Resumen
En este capítulo ha aprendido cómo funcionan los formularios estándar de Django así como los formularios de modelo. Ha creado un sistema para compartir contenido del sitio web por email y otro para realizar comentarios. Añadió el etiquetado a los artículos del blog, integrando una aplicación, y construyó consultas complejas para recuperar objetos por similitud.
En el siguiente capítulo aprenderá a crear filtros y etiquetas de plantilla personalizados. También construirá un mapa del sitio y creará contenido para el blog. Por último, implementará un sistema de búsqueda de texto.
Конец ознакомительного фрагмента.
Текст предоставлен ООО «ЛитРес».
Прочитайте эту книгу целиком, купив полную легальную версию на ЛитРес.
Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.