Web2Py-তে URL প্যারামিটার এবং Query Strings ব্যবহার করার মাধ্যমে আপনি ইউজারের কাছ থেকে ডেটা গ্রহণ করতে পারেন এবং অ্যাপ্লিকেশনকে ডাইনামিকভাবে কনফিগার করতে পারেন। এই দুটি টেকনিক্যাল ধারণা ওয়েব অ্যাপ্লিকেশনে বিভিন্ন তথ্য পাস এবং গ্রহণের জন্য ব্যবহৃত হয়।
URL প্যারামিটার এবং Query String এর মধ্যে পার্থক্য
- URL প্যারামিটার: URL এর অংশ হিসেবে সরাসরি কিছু তথ্য প্রেরণ করা হয়। সাধারণত এটি কন্ট্রোলার ফাংশন এবং অ্যাকশনের পরে আসে। যেমন:
http://127.0.0.1:8000/app_name/controller_name/action_name/param1/param2 - Query String: URL এর শেষে
?দিয়ে শুরু হয়ে বিভিন্ন কুইরি প্যারামিটার প্রদান করা হয়। যেমন:http://127.0.0.1:8000/app_name/controller_name/action_name?key1=value1&key2=value2
Web2Py তে URL প্যারামিটার ব্যবহার
URL প্যারামিটারগুলো Web2Py তে কন্ট্রোলার ফাংশনের মাধ্যমে সহজে অ্যাক্সেস করা যায়। এর মাধ্যমে ইউজারের রিকোয়েস্টে পাস করা ডেটা (যেমন আইডি, নাম, ইত্যাদি) কন্ট্রোলারে ব্যবহার করা হয়।
উদাহরণ
ধরা যাক আপনি একটি অ্যাপ্লিকেশনে বইয়ের তথ্য দেখাতে চান এবং বইয়ের আইডি প্যারামিটার হিসেবে URL-এ পাঠাতে চান। এর জন্য URL-এ book_id প্যারামিটার পাস করবেন, যেমন:
URL: http://127.0.0.1:8000/myapp/default/show_book/123
এখানে 123 হচ্ছে বইয়ের আইডি।
Controller ফাংশন (কন্ট্রোলার)
# controllers/default.py
def show_book(book_id):
book = db(db.book.id == book_id).select().first()
if book:
return dict(book=book)
else:
return dict(message="Book not found")
এখানে show_book() অ্যাকশন ফাংশনে book_id প্যারামিটার আনা হয়েছে, যা URL থেকে পাস করা হবে। তারপর, db মডেল ব্যবহার করে এই আইডি দ্বারা বইয়ের তথ্য খোঁজা হয়েছে এবং ভিউতে পাঠানো হয়েছে।
View ফাইল (ভিউ)
<h1>Book Details</h1>
<p><strong>Title:</strong> {{=book.title}}</p>
<p><strong>Author:</strong> {{=book.author}}</p>
এইভাবে, URL প্যারামিটার ব্যবহার করে Web2Py অ্যাপ্লিকেশন থেকে ডেটা অ্যাক্সেস এবং প্রদর্শন করা যায়।
Web2Py তে Query String ব্যবহার
Query String URL-এ ? চিহ্নের পর বিভিন্ন প্যারামিটার পাঠানোর পদ্ধতি। এটি সাধারণত GET রিকোয়েস্টের মাধ্যমে ব্যবহার করা হয় এবং ওয়েব ব্রাউজারে ডেটা পাঠাতে ব্যবহৃত হয়।
উদাহরণ
ধরা যাক, আপনি একটি পেজে একটি ফিল্টার করার ফিচার দিতে চান যেখানে ইউজার কোনো কিপিং প্রাইস পাস করতে পারে, যেমন:
URL: http://127.0.0.1:8000/myapp/default/filter_books?price=500
এখানে price একটি কুইরি স্ট্রিং প্যারামিটার এবং তার মান 500।
Controller ফাংশন
# controllers/default.py
def filter_books():
price = request.vars.price # Query string থেকে price প্যারামিটার নেওয়া
books = db(db.book.price <= price).select() # Price এর কম দাম সম্বলিত বই খোঁজা
return dict(books=books)
এখানে request.vars.price দ্বারা Query String থেকে price প্যারামিটারটি গ্রহণ করা হয়েছে এবং সেই অনুযায়ী ডেটাবেস থেকে বইয়ের তথ্য সিলেক্ট করা হয়েছে।
View ফাইল
<h1>Books Under Price</h1>
<ul>
{{for book in books:}}
<li>{{=book.title}} - {{=book.price}}</li>
{{pass}}
</ul>
এখানে Query String প্যারামিটার ব্যবহার করে সারা বিশ্বের সব বইয়ের মধ্যে মূল্য কম হওয়া বইগুলো প্রদর্শন করা হয়েছে।
URL প্যারামিটার এবং Query String এর মধ্যে পার্থক্য
- URL প্যারামিটার:
- URL প্যারামিটার সাধারণত কন্ট্রোলার অ্যাকশনের অংশ হিসেবে ব্যবহৃত হয়।
- উদাহরণ:
/controller/action/param1/param2 - এগুলো URL এর মূল অংশ হিসেবে কাজ করে।
- Query String:
- Query String URL এর শেষে
?চিহ্ন দিয়ে শুরু হয় এবং প্যারামিটার ও তাদের মান দেওয়া হয়। - উদাহরণ:
?key1=value1&key2=value2 - এগুলো সাধারণত ফিল্টারিং বা সার্চ ফিচারের জন্য ব্যবহৃত হয়।
- Query String URL এর শেষে
Web2Py তে URL প্যারামিটার এবং Query String এর ব্যবহার
- URL প্যারামিটার ব্যবহারের মাধ্যমে ডাইনামিক URL তৈরি করা যায় এবং কন্ট্রোলার ফাংশনকে কল করা হয়।
- Query String ব্যবহার করে ইউজার থেকে সহজে ডেটা পাস করা যায়, যেমন সার্চ, ফিল্টারিং ইত্যাদি।
Web2Py তে এই দুটি পদ্ধতি অ্যাপ্লিকেশনকে আরও ডাইনামিক এবং ইউজার-ফ্রেন্ডলি করে তোলে, যেখানে ইউজারদের ইনপুট গ্রহণ এবং বিভিন্ন ফিচার পরিচালনা সহজ হয়।
সারাংশ
Web2Py তে URL প্যারামিটার এবং Query String ব্যবহার করে আপনি অ্যাপ্লিকেশনে ডাইনামিক ডেটা প্রক্রিয়া এবং ইউজার থেকে ইনপুট গ্রহণ করতে পারেন। URL প্যারামিটার কন্ট্রোলারের ফাংশনে সরাসরি ব্যবহৃত হয়, এবং Query String প্যারামিটার URL এর শেষে ? চিহ্নের মাধ্যমে পাস করা হয়। এই দুটি পদ্ধতি ব্যবহার করে আপনি Web2Py অ্যাপ্লিকেশনকে আরও কার্যকরী এবং ডাইনামিক বানাতে পারবেন।
Read more