1 7e_Proyecto_Web_Completo
Fuzan edited this page 2021-07-02 22:33:32 -04:00

Categorias del Blog

Crear plantilla categorias.html

Con el proposito de lista las categorias de las entradas mostradas en esta página,

Editar blog.html, para listar categorias en la parte inferior de la plantilla

    {% endfor %}
    
      <section>
        <div style="width:60%; background-color:Tomato; margin:auto; text-align:center;">
            Categorías : 
            
              {% for entrada in entradas %}
              
                {% for categoria in entrada.categorias.all %}
                
                  {{categoria.nombre}} &nbsp;&nbsp;&nbsp;
                  
                {% endfor %} 
                 
              {% endfor %}  
        </div>
     </section>
    
{% endblock %}

Copiar blog.html como categorias.html

Para consegir consultar categorías directamente por la url con categoria_id

/blog/urls.py

...

urlpatterns = [
    path('', views.blog, name ='Blog'),
    path('categoria/<int:categoria_id>/', views.categoria, name = 'categoria'),
]

Crear vista
/blog/views.py

def categoria(request, categoria_id):
    categoria = Categoria.objects.get( id=categoria_id )
    entrada = Entrada.objects.filter( categorias = categoria )
    return render(request, "blog/categorias.html", {'categoria':categoria, 'entradas':entrada})

Aplicar estilo a links categorias
blog.html categorias.html

    ...
      <a href="{% url 'categoria' categoria.id %}" class="link">{{categoria.nombre}}</a>
    ...

Corrigiendo el comportamiento de la barra de navegación

Esta configurada para activar el estilo solo para la url especificada, y no para las siguientes,
ej. /blog/ pero no /blog/categoria/1

/templates/ProyectoWebApp/base.html

          ...
          <li class="nav-item {% if request.path|slice:':6' == '/blog/' %}active{% endif %} px-lg-4">
            <a class="nav-link text-uppercase text-expanded" href="{% url 'Blog' %}">Blog</a>
          </li>
          ...

PENDIENTE en Blog

  • Listar correctamente la lista de categorias
  • Mejorar estilo de los links categorias (crear jerarquia propia en blog?)