Layouts এবং Partial Templates তৈরি করা

TurboGears Templates এবং Views - টার্বোগিয়ার্স (TurboGears) - Web Development

295

TurboGears কি?

TurboGears হলো একটি পূর্ণাঙ্গ, ওপেন সোর্স ওয়েব ফ্রেমওয়ার্ক যা Python প্রোগ্রামিং ভাষায় তৈরি করা হয়েছে। এটি Model-View-Controller (MVC) আর্কিটেকচার অনুসরণ করে এবং ওয়েব অ্যাপ্লিকেশন তৈরি করতে সহজ, দ্রুত এবং কার্যকরী উপায় প্রদান করে। TurboGears একটি শক্তিশালী এবং নমনীয় ফ্রেমওয়ার্ক যা ডাটাবেস, ওয়েব রাউটিং, এবং ইউজার ইন্টারফেস তৈরি করার জন্য প্রয়োজনীয় সব কিছু সরবরাহ করে।

Layouts এবং Partial Templates কি?

Layouts এবং Partial Templates হল ওয়েব অ্যাপ্লিকেশনের টেমপ্লেট ডিজাইন এবং রেন্ডারিং সম্পর্কিত গুরুত্বপূর্ণ ধারণা।

  • Layouts: ওয়েব অ্যাপ্লিকেশনের জন্য একটি ভিত্তি বা কাঠামো তৈরি করে যা সমস্ত পৃষ্ঠায় সাধারণ থাকে। উদাহরণস্বরূপ, একটি হেডার, ফুটার এবং সাইডবার যা প্রতিটি পৃষ্ঠায় শেয়ার করা হয়।
  • Partial Templates: এটি টেমপ্লেটের একটি অংশ যা ভিন্ন ভিন্ন পৃষ্ঠায় পুনরায় ব্যবহার করা যেতে পারে। এটি সাধারণত ছোট উপাদানগুলো (যেমন: নেভিগেশন মেনু, ফর্ম, বা কোনো বিশেষ টুকরা) যা বারবার ব্যবহৃত হয়, তৈরি করার জন্য ব্যবহৃত হয়।

TurboGears এ Layouts এবং Partial Templates তৈরি করা সহজ এবং আপনার অ্যাপ্লিকেশনের কোড পুনঃব্যবহারযোগ্য এবং রক্ষণাবেক্ষণযোগ্য করতে সহায়তা করে।


Layouts তৈরি করা

TurboGears-এ Layouts তৈরি করার জন্য সাধারণত Jinja2 অথবা Mako টেমপ্লেট ইঞ্জিন ব্যবহৃত হয়। এখানে আমরা Jinja2 ব্যবহার করব।

১. Layouts সেটআপ করা

Layouts আপনার অ্যাপ্লিকেশনের প্রতিটি পৃষ্ঠায় পুনরায় ব্যবহৃত অংশ (যেমন হেডার, ফুটার) তৈরি করতে সহায়তা করে। TurboGears এ, আপনি সাধারণত base.html নামে একটি লেআউট তৈরি করেন, যেখানে সাধারণ অংশগুলির কন্টেন্ট থাকে।

base.html লেআউট উদাহরণ:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>{% block title %}My Web App{% endblock %}</title>
</head>
<body>
  <header>
    <h1>Welcome to My Web App</h1>
    <nav>
      <a href="/">Home</a>
      <a href="/about">About</a>
    </nav>
  </header>
  
  <div class="content">
    {% block content %}
    {% endblock %}
  </div>

  <footer>
    <p>© 2024 My Web App. All rights reserved.</p>
  </footer>
</body>
</html>

এখানে:

  • {% block title %} এবং {% block content %} হল টেমপ্লেটের প্লেসহোল্ডার যেখানে পৃষ্ঠার কন্টেন্ট (যেমন শিরোনাম এবং বিষয়বস্তু) বসবে।
  • অন্যান্য অংশ যেমন header এবং footer প্রতিটি পৃষ্ঠার জন্য একই থাকবে।

২. Specific Page Templates এ Layout ব্যবহার করা

এখন, আপনি কোনো নির্দিষ্ট পৃষ্ঠা তৈরি করতে পারেন, এবং সেই পৃষ্ঠায় base.html লেআউট ব্যবহার করতে পারেন।

home.html উদাহরণ:

{% extends "base.html" %}

{% block title %}Home - My Web App{% endblock %}

{% block content %}
  <h2>Welcome to the homepage!</h2>
  <p>This is where the main content of the page will go.</p>
{% endblock %}

এখানে, {% extends "base.html" %} ব্যবহার করে আমরা base.html লেআউটকে এই পৃষ্ঠায় ইন্টার্নাল লিংক করেছি। {% block content %} এর মধ্যে মূল কন্টেন্ট লেখা হয়েছে, যা base.html লেআউটে থাকা {% block content %} এর জায়গায় প্রদর্শিত হবে।


Partial Templates তৈরি করা

Partial Templates হল ছোট টেমপ্লেট উপাদান যা পুনরায় ব্যবহারযোগ্য এবং আপনার ওয়েব অ্যাপ্লিকেশনে বিভিন্ন জায়গায় রাখা যেতে পারে, যেমন হেডার, ফর্ম, এবং মেনু।

১. Partial Template তৈরি করা

ধরা যাক, আপনার একটি navigation মেনু টেমপ্লেট তৈরি করতে হবে, যা পুরো ওয়েব অ্যাপ্লিকেশন জুড়ে পুনরায় ব্যবহার করা যাবে।

navigation.html উদাহরণ:

<nav>
  <ul>
    <li><a href="/">Home</a></li>
    <li><a href="/about">About</a></li>
    <li><a href="/contact">Contact</a></li>
  </ul>
</nav>

এটি একটি ছোট, পুনরায় ব্যবহৃত অংশ যা প্রতিটি পৃষ্ঠার মেনু হিসেবে কাজ করবে।

২. Partial Template ব্যবহার করা

এখন, এই পার্টিয়াল টেমপ্লেটকে আপনার মূল টেমপ্লেটে অন্তর্ভুক্ত করতে পারেন।

base.html এ Navigation ব্যবহার করা:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>{% block title %}My Web App{% endblock %}</title>
</head>
<body>
  <header>
    <h1>Welcome to My Web App</h1>
    {% include "navigation.html" %}
  </header>
  
  <div class="content">
    {% block content %}
    {% endblock %}
  </div>

  <footer>
    <p>© 2024 My Web App. All rights reserved.</p>
  </footer>
</body>
</html>

এখানে, {% include "navigation.html" %} দিয়ে আপনি navigation.html পার্টিয়াল টেমপ্লেটকে আপনার base.html টেমপ্লেটে যুক্ত করেছেন।


Layouts এবং Partials টেমপ্লেট ব্যবহারের সুবিধা

  1. কোড পুনঃব্যবহারযোগ্যতা: Layouts এবং Partials টেমপ্লেট তৈরি করে, আপনি একই কোড পুনরায় ব্যবহার করতে পারবেন, যা কোড কমপ্লেক্সিটি কমায় এবং রক্ষণাবেক্ষণ সহজ করে তোলে।
  2. অর্গানাইজড কন্টেন্ট: Layouts দিয়ে এক ধরনের কাঠামো তৈরি করা হয়, যেখানে বিভিন্ন পৃষ্ঠার সাধারণ কন্টেন্ট থাকে, এবং Partials ব্যবহার করে আলাদা আলাদা উপাদান রিসাইকেল করা যায়।
  3. সহজ রক্ষণাবেক্ষণ: যদি কোনো পরিবর্তন করতে হয়, যেমন ন্যাভিগেশন মেনু পরিবর্তন করা, তাহলে শুধু navigation.html পার্টিয়াল টেমপ্লেটে পরিবর্তন করলে, তা সমস্ত পৃষ্ঠায় প্রভাব ফেলবে।
  4. ডেভেলপমেন্ট স্পিড বৃদ্ধি: Layouts এবং Partials এর মাধ্যমে ডেভেলপাররা দ্রুত এবং কার্যকরভাবে টেমপ্লেট তৈরি করতে পারেন, কারণ তারা আলাদা আলাদা উপাদান তৈরি করতে পারেন এবং একটি বেস কাঠামো (Layout) দিয়ে সেগুলিকে যুক্ত করতে পারেন।

সারাংশ

Layouts এবং Partial Templates TurboGears-এ ওয়েব অ্যাপ্লিকেশন নির্মাণের গুরুত্বপূর্ণ অংশ, যা কোড পুনরায় ব্যবহারযোগ্য এবং রক্ষণাবেক্ষণযোগ্য করতে সহায়তা করে। Layouts আপনার অ্যাপ্লিকেশনের কাঠামো তৈরি করে, যেখানে সাধারণ উপাদান থাকে, এবং Partial Templates ছোট উপাদান তৈরি করতে ব্যবহৃত হয় যা পুনরায় বিভিন্ন জায়গায় ব্যবহার করা যেতে পারে। এই কৌশলগুলি কোডকে আরও পরিষ্কার, কার্যকর এবং সহজে রক্ষণাবেক্ষণযোগ্য করে তোলে।

Content added By
Promotion

Are you sure to start over?

Loading...