মডিউল ২.৬ : জ্যাংগো টেমপ্লেট ল্যাংগুয়েজ পার্ট ১
Last updated
Last updated
আজকে আমরা জানবো Django Template Language। অর্থাৎ আমরা পাইথন বা অন্য যেকোনো প্রোগ্রামিং ল্যাঙ্গুয়েজ নিয়ে কাজ করার সময় লুপ, কন্ডিশনাল স্টেটমেন্ট সম্পর্কে জেনেছিলাম, ইউজ করতাম, django আমাদেরকে সেই সুযোগ টা দিচ্ছে যে আমরা চাইলে html এর মধ্যেও লুপ, কন্ডিশন চালাতে পারবো সেই সাথে বেশ কিছু কোড ফিল্টার এর কাজ ও করতে পারবো। এটাকে আমরা বলতেছি Django Template Language।
আগের চ্যাপ্টার এ আমরা দেখেছিলাম কিভাবে কনটেক্সট ডাটা html তে প্রিন্ট করতে হয়, আজকে আমরা সেই ডাটা গুলার উপরে কন্ডিশন লুপ এপ্লাই করে কিছু কাজ করবো। লুপ বা কন্ডিশন কে আমরা ডিরেক্ট লিখতে পারবো না html এর মধ্যে, আমাদেরকে {%%} এভাবে লিখতে হবে। তার মানে দুইটা জিনিস তুমি জানলা
১. যদি কনটেক্সট ডাটার কোনো key কে ডিরেক্ট ইউজ করি তাইলে {{}} দিয়ে ইউজ করবো
২. যদি লুপ, কন্ডিশন আরো কিছু টেমপ্লেট ল্যাঙ্গুয়েজ এর ফিচার আছে সেগুলা ইউজ করি তাইলে তাদেরকে {%%} রেখে কাজ করবো। নিচের এক্সাম্পল দেখলে আরো ক্লিয়ার হবা।
ধরো আমি চাই কনটেক্সট ডিকশনারি এর উপর কিছু কন্ডিশন চালাতে। যদি age ২০ এর উপরে হয়, যদি age ১০ থেকে ১৯ এর মধ্যে হয় আর এর বাইরে যদি কোনো age হয় তাইলে ভিন্ন ভিন্ন ডাটা শো করাবো। নিচের কোড টা দেখো।
খেয়াল করছো পাইথন এর কন্ডিশন ইউজ করেছি জাস্ট if, elif else লেখা গুলা কে {%%} এর মধ্যে রেখেছি আর তারপর html কোড। এখন এখানেই শেষ না, লাস্ট এ দেখো endif ইউজ করেছি অর্থাৎ django কে বুঝিয়ে দিচ্ছি যে আমাদের if এর কোড এখানেই শেষ, এটা না লিখলে সে বুঝতে পারবে না যে if এর কোড লেখা শেষ হয়েছে।
এখন আমরা যদি লুপ ইউজ করতে চায় তাইলে সেম ভাবে {%%} এর মধ্যে পাইথন এর ফর লুপ চালাবো আর শেষে endfor অ্যাড করে দিয়ে django কে বুঝাবো যে আমাদের for লুপ এর কোড লেখা শেষ হয়েছে।
উপরের কোড টা খেয়াল করে দেখো যে পাইথন এ যেভাবে আমরা একটা লিস্ট ও ডিকশনারি কে অ্যাকসেস করতাম সেভাবেই করতেছি, জাস্ট for লুপ কে রেখেছি {%%} এর মধ্যে আর আমাদের ডিকশনারি এর ভ্যালু গুলা অ্যাকসেস করতেছি {{}} এর মধ্যে রেখে।