Django টেম্পলেট ট্যাগ
Django টেম্পলেটগুলি হল HTML ফাইল যা Django দ্বারা প্রক্রিয়া করা হয়। Django টেম্পলেটগুলিতে, আপনি Django টেমপ্লেট ট্যাগগুলি ব্যবহার করে আপনার ওয়েবসাইটের সামগ্রীকে নিয়ন্ত্রণ করতে পারেন।
Django টেমপ্লেট ট্যাগগুলি হল বিশেষ ট্যাগ যা Django কে আপনার টেমপ্লেটগুলিকে কীভাবে প্রক্রিয়া করতে হবে তা বলতে সাহায্য করে। Django টেমপ্লেট ট্যাগগুলিকে দুটি ভাগে ভাগ করা যেতে পারে:
- বিল্ডিং ব্লকের ট্যাগ: এই ট্যাগগুলি HTML এলেমেন্টগুলি তৈরি করতে ব্যবহৃত হয়।
- ডেটা অ্যাক্সেস ট্যাগ: এই ট্যাগগুলি আপনার মডেল থেকে ডেটা অ্যাক্সেস করতে ব্যবহৃত হয়।
বিল্ডিং ব্লকের ট্যাগ
বিল্ডিং ব্লকের ট্যাগগুলি HTML এলেমেন্টগুলি তৈরি করতে ব্যবহৃত হয়। ব্লকের ট্যাগগুলির মধ্যে রয়েছে:
- {% block %}: এই ট্যাগটি একটি ভিত্তি ব্লক তৈরি করে। ভিত্তি ব্লকগুলি হল টেমপ্লেটের নির্দিষ্ট অংশ যা আপনি আপনার অ্যাপের জন্য কস্টমাইজ করতে পারেন।
- {% extends %}: এই ট্যাগটি একটি প্রাথমিক টেমপ্লেট থেকে টেমপ্লেটটিকে বর্ধিত করে। এটি আপনাকে আপনার টেমপ্লেটগুলিতে সাধারণ সামগ্রী ভাগ করে নেওয়ার অনুমতি দেয়।
- {% include %}: এই ট্যাগটি একটি ভিন্ন টেমপ্লেটকে অন্তর্ভুক্ত করে। এটি আপনাকে আপনার টেমপ্লেটগুলিতে পুনরাবৃত্তিমূলক সামগ্রী ভাগ করে নেওয়ার অনুমতি দেয়।
- {% for %}: এই ট্যাগটি একটি লুপ তৈরি করে। এটি আপনাকে একটি তালিকা বা সেটের মাধ্যমে লুপ করার অনুমতি দেয়।
- {% if %}: এই ট্যাগটি একটি শর্তীয় বিবৃতি তৈরি করে। এটি আপনাকে একটি নির্দিষ্ট শর্ত পূরণ হলে বা না হলে কোড চালানোর অনুমতি দেয়।
- {% url %}: এই ট্যাগটি একটি URL তৈরি করে
- {% static %} : এই ট্যাগটি একটি স্ট্যাটিক ফাইলের URL তৈরি করে। আপনি এটিকে একটি স্ট্যাটিক ফাইলের নাম দিয়ে ব্যবহার করতে পারেন।
- {% filter %}: এই ট্যাগটি একটি টেক্সট স্ট্রিংকে ফিল্টার করতে ব্যবহৃত হয়।
- {% comment %}: এই ট্যাগটি একটি মন্তব্য তৈরি করতে ব্যবহৃত হয়।
- {% pluralize %}: এই ট্যাগটি একটি সংখ্যাকে বহুবচনে রূপান্তর করতে ব্যবহৃত হয়।
- {% trans %}: এই ট্যাগটি একটি অনুবাদিত টেক্সট স্ট্রিং প্রদর্শন করতে ব্যবহৃত হয়।
ডেটা অ্যাক্সেস
এখানে কিছু ডেটা অ্যাক্সেস ট্যাগের উদাহরণ রয়েছে:
Variable অ্যাক্সেস
ভিউ থেকে Array ডেটা পাঠালাম
from django.shortcuts import render
from .models import Product # Assuming you have a 'Product' model
def product_list(request):
products = Product.objects.all() # Retrieve all product objects
context = {
'products': products # Pass the list of products to the template
}
return render(request, 'products/list.html', context) # Render the 'list.html' template with the context data
html টেম্পলেট এ সেটাকে এক্সেস করলাম।
{% for product in products %}
<li>{{ product.name }}</li>
{% endfor %}
যদি ভিউ থেকে সিঙ্গেল ভ্যারিয়েবল পাঠাই তাহলে কিভাবে acess করবো।
যদি ভিউ থেকে একটি সিঙ্গেল ভেরিয়েবল পাঠান, তাহলে আপনি সেই ভেরিয়েবলটিকে আপনার টেমপ্লেটে অ্যাক্সেস করতে পারেন context শব্দভাণ্ডার ব্যবহার করে। context শব্দভাণ্ডার হল একটি ডিকশনারি যা ভিউ থেকে প্রেরিত সমস্ত ডেটা রাখে।
উদাহরণস্বরূপ, আপনি নিম্নলিখিত ভিউটি তৈরি করতে পারেন:
from django.shortcuts import render
def my_view(request):
my_variable = "This is a simple variable"
context = {
'my_variable': my_variable
}
return render(request, 'my_template.html', context)
এই ভিউটি my_variable নামে একটি ভেরিয়েবল তৈরি করে এবং এটিকে context শব্দভাণ্ডারে সংরক্ষণ করে। আপনি নিম্নলিখিত টেমপ্লেটটি ব্যবহার করে এই ভেরিয়েবলটি অ্যাক্সেস করতে পারেন:
<h1>{{ my_variable }}</h1>
পরের টিউটোরিয়ালে আমরা tags গুলো প্রাক্টিক্যাল দেখবো।