মডিউল ৭-৮ঃ ফ্রন্ট-এন্ডে পোস্ট দেখানো

এই মডিউলে আমরা দেখব Post মডেলের ডেটাগুলো কিভাব ফ্রন্ট-এন্ডে দেখতে পারি

templates ডিরেকটরিতে home.html ফাইলটি তৈরি করি যেখানে Post এর ডেটাগুলো দেখানো হবে-

Code:: 7.8.1 templates\home.html

{% extends 'base.html' %} {% block content %}

<div class="d-flex flex-wrap justify-content-center px-5 pt-5">
  {% for post in data %}
  <div class="col-sm-3">
    <div class="card m-2">
      <div class="card-body">
        <h5 class="card-title">{{post.title}}</h5>
        <p class="card-text">{{post.content}}</p>
        <p>Author : {{post.author.name}}</p>
        <p>
          Category : {% for cat in post.category.all %} 
          <button class="btn btn-primary btn-sm m-2" disabled >{{cat.name}} </button>
          {% endfor %}
        </p>
        <a href="{% url 'edit_post' post.id %}" class="btn btn-warning">Edit</a>
        <a href="{% url 'delete_post' post.id %}" class="btn btn-danger">Delete</a>
      </div>
    </div>
  </div>
  {% endfor %}
</div>
{% endblock %}
  • ১২ নং লাইনে for লুপ লেখার কারন হলো একটি পোষ্টে একাধিক Category থাকতে পারে ( One to Many Relationship)

blog_project/urls.py-এ Post ডেটা দেখানোর জনা 'homepage' নামে নতুন একটি URL-প্যাটার্ন এ্যাড করি-

Code:: 7.8.2 blog_project/urls.py

নতুন URL-প্যাটার্নটির জন্য blog_project এ views.py ফাইল ক্রিয়েট করে একটি view ফাংশন লিখে ফেলি-

Code:: 7.8.3 blog_project/views.py

এখন, base.html ফাইলের বেশ কিছু লিঙ্ক পরিবর্তন করে নিচের মত করে লিখি -

Code:: 7.8.4 templates/base.html

এখন প্রজেক্ট রান করে http://127.0.0.1:8000/ URL-এ গেলে অথবা Home বাটনে ক্লিক করলে Post মডেলের রেকর্ডগুলো দেখতে পারব-

Last updated