26.1 : Job Listview part 2

  

So, we have made a directory named "webapps" to serve our web apps and we have also included the route to serve a homepage with a navbar. But that's not how our final product looks like. We want something like this:

So, let's start our journey. We start by modifying the templates > general_pages > homepage.html file.

{% extends "shared/base.html" %}


{% block title %}
  <title>Job Board</title>
{% endblock %}

{% block content %}
  <div class="container">
  <div class="row">
    <div class="col">
      <h1 class="display-5">Find Jobs..</h1>
    </div>
  </div>
  <div class="row">
      {% for job in jobs %}
        <div class="col-lg-4 col-md-3 col-sm-10 mr-auto">
          {% with obj=job %}
      		{% include "components/cards.html" %}
    	  {% endwith %}

          {% if loop.index %3 %}
            </div>
          {% else %}
            </div></div><br><div class="row">
          {% endif %}
      {% endfor %}
  </div>
</div>
{% endblock %}
  • We are using Jinja For-Loop, Basically, we are iterating over the list of jobs that the template receives from the backend and display each job in one single card.
  • We are also making sure, that we display 3 cards in a row. The moment for loop completes 3 iterations, we are creating a new row and placing cards in the new row.

Now, we need a new file, templates > components > cards.html file. This is going to be a bootstrap card.

<div class="card shadow p-3 mb-2 bg-body rounded" style="width: 18rem;">
  <div class="card-body">
    <h5 class="card-title">{{obj.title}}</h5>
    <p class="card-text">Company : {{obj.company}}</p>
    <p class="card-text">Company URL : <a href="{{obj.company_url}}">{{obj.company_url}}</a></p>
    <p class="card-text">Description : {{obj.description[:60]}}</p>
    <a href="/jobs/detail/{{obj.id}}" class="btn btn-primary">Read more</a>
  </div>
</div>

All done..🥵 Time to test our work at http://127.0.0.1:8000/
Hurrey, It works!

FastAPITutorial

Brige the gap between Tutorial hell and Industry. We want to bring in the culture of Clean Code, Test Driven Development.

We know, we might make it hard for you but definitely worth the efforts.

Contacts

Refunds:

Refund Policy
Social

Follow us on our social media channels to stay updated.

© Copyright 2022-23 Team FastAPITutorial