
জিনজা পাইথনের জন্য একটি শক্তিশালী এবং নমনীয় টেমপ্লেটিং ইঞ্জিন। ওয়েব ডেভেলপমেন্টে একটি সাধারণ ব্যবহারের ক্ষেত্রে হল ডাইনামিক টেবিল তৈরি করা যা একটি কাঠামোগত উপায়ে ডেটা প্রদর্শন করে। এই নিবন্ধে, আমরা কীভাবে জিনজা ব্যবহার করে একটি গতিশীল টেবিল তৈরি করতে হয় তা অন্বেষণ করব, ইন্টারঅ্যাক্টিভিটি এবং বাছাইয়ের বিকল্পগুলি বাস্তবায়নের সাথে ডেটার তালিকা থেকে টেবিলের কাঠামো তৈরি করার উপর ফোকাস করব। জিনজা এবং পাইথন দিয়ে কীভাবে এটি অর্জন করা যায় তা আবিষ্কার করতে পড়ুন।
প্রথমত, আমাদের সমস্যার সংজ্ঞা দিয়ে শুরু করা যাক। আমরা আমাদের টেমপ্লেটিং ইঞ্জিন হিসাবে জিনজা ব্যবহার করে একটি ওয়েবপেজে একটি গতিশীল টেবিল প্রদর্শন করার ক্ষমতা চাই। সারণীতে বাছাইযোগ্য কলাম এবং ব্যবহারকারীর সাথে ইন্টারঅ্যাক্ট করার জন্য সম্ভবত ইন্টারেক্টিভ উপাদান থাকবে, যেমন সম্পাদনা বা মুছে ফেলার বোতাম। এই সমস্যাটি সমাধান করার জন্য, আমাদের পাইথন, জিনজা, পাশাপাশি কিছু অতিরিক্ত লাইব্রেরি এবং কৌশল ব্যবহার করতে হবে।
পরিবেশ স্থাপন করা
আমরা কোড লেখার মধ্যে ডুব দেওয়ার আগে, আমাদের অবশ্যই প্রথমে আমাদের পরিবেশ সেট আপ করতে হবে। আমাদের নিম্নলিখিত লাইব্রেরিগুলির প্রয়োজন হবে:
- ফ্লাস্ক – পাইথনের জন্য একটি হালকা ওয়েব ফ্রেমওয়ার্ক।
- জিনজা - গতিশীল টেবিল রেন্ডার করার জন্য আমাদের কাঙ্ক্ষিত টেমপ্লেটিং ইঞ্জিন।
- Flask-SQLAlchemy – SQLAlchemy ব্যবহার করে আমাদের ডেটা ব্যবস্থাপনার জন্য একটি ফ্লাস্ক এক্সটেনশন।
পিপ ব্যবহার করে এই লাইব্রেরিগুলি ইনস্টল করা নিশ্চিত করুন:
pip install flask jinja2 flask-sqlalchemy
টেবিল ডেটা তৈরি করা হচ্ছে
এখন যেহেতু আমরা আমাদের পরিবেশ সেট আপ করেছি, আসুন আমাদের ডায়নামিক টেবিলে প্রদর্শনের জন্য কিছু ডেটা তৈরি করি। এই উদাহরণের জন্য, আমরা ফ্যাশন আইটেম, যেমন তাদের শৈলী, রঙ এবং ইতিহাস সম্পর্কে তথ্য ধারণকারী অভিধানের একটি সাধারণ তালিকা ব্যবহার করব।
fashion_items = [ { "style": "Grunge", "color": "Dark tones", "history": "Originated in the late 1980s and reached its peak in the 1990s.", }, { "style": "Bohemian", "color": "Earthy tones", "history": "Has a long history dating back to the early 19th century.", }, { "style": "Preppy", "color": "Pastel colors", "history": "Began in the early 20th century and enjoyed a resurgence in the 1980s.", }, ]
জিনজা টেমপ্লেট তৈরি করা হচ্ছে
এখন যেহেতু আমাদের ডেটা আছে, আমাদের ডায়নামিক টেবিল রেন্ডার করার জন্য আমাদের জিনজা টেমপ্লেট তৈরি করতে হবে। এতে জিনজা 2 টেমপ্লেট ট্যাগ সহ এইচটিএমএল কোড লেখা জড়িত থাকবে, যা আমরা টেমপ্লেটে পাস করা পাইথন ডেটা প্রক্রিয়া করবে। আমাদের টেবিল গঠন তৈরি করে শুরু করা যাক।
{% extends "base.html" %} {% block content %} <table> <thead> <tr> <th>Style</th> <th>Color</th> <th>History</th> </tr> </thead> <tbody> {% for item in fashion_items %} <tr> <td>{{ item.style }}</td> <td>{{ item.color }}</td> <td>{{ item.history }}</td> </tr> {% endfor %} </tbody> </table> {% endblock %}
উপরের কোডটি ট্যাগ ব্যবহার করে একটি HTML টেবিল তৈরি করে , , এবং . Ginja2 টেমপ্লেট ট্যাগের ভিতরে {% for item in fashion_items %} এবং {% endfor %}, আমরা fashion_items তালিকার প্রতিটি আইটেম লুপ করি এবং আইটেমের ডেটা সহ একটি নতুন টেবিল সারি তৈরি করি।
ফ্লাস্ক দিয়ে টেবিল রেন্ডারিং
এখন যেহেতু আমাদের টেমপ্লেট এবং ডেটা প্রস্তুত আছে, আমরা একটি ওয়েবপেজে টেবিল রেন্ডার করতে ফ্লাস্ক ব্যবহার করব। প্রথমে, একটি ফ্লাস্ক অ্যাপ্লিকেশন তৈরি করুন এবং তারপরে আপনার ডেটা পাস করুন এবং আপনার জিনজা টেমপ্লেট রেন্ডার করুন।
from flask import Flask, render_template app = Flask(__name__) @app.route('/') def index(): return render_template('index.html', fashion_items=fashion_items) if __name__ == '__main__': app.run(debug=True)
এই কোডের সাহায্যে, আমরা ফ্যাশন_আইটেম তালিকাটি আমাদের জিনজা টেমপ্লেটে প্রেরণ করছি, এবং এটি আমাদের টেবিলে রেন্ডার করা হবে, এটি তৈরি করে সম্পূর্ণ গতিশীল এবং ইন্টারেক্টিভ।
সংক্ষেপে, আমরা শিখেছি কিভাবে একটি তৈরি করতে হয় গতিশীল টেবিল জিঞ্জায় পাইথন তালিকা ব্যবহার করে, এটিকে একটি জিনজা টেমপ্লেটে রেন্ডার করে এবং তারপর ফ্লাস্ক ব্যবহার করে একটি ওয়েবপেজে প্রদর্শন করে। জিনজা টেমপ্লেটগুলি গতিশীল টেবিল তৈরির জন্য শক্তিশালী বৈশিষ্ট্য এবং নমনীয়তা অফার করে, যা ওয়েব বিকাশে বিভিন্ন অ্যাপ্লিকেশনের জন্য কার্যকর হতে পারে। এই নিবন্ধটি থেকে অর্জিত জ্ঞানের সাথে, আপনি এখন আপনার ওয়েব ডেভেলপমেন্ট দক্ষতাকে পরবর্তী স্তরে নিয়ে যাওয়ার জন্য বাছাইযোগ্য কলাম এবং ইন্টারঅ্যাক্টিভিটি সহ টেবিল তৈরি করতে পারেন।