Django

⌘K
  1. Home
  2. Django
  3. Django তে কিভাবে কাজ করতে...
  4. Form ফর্ম
  5. 07. Django ফর্ম এ ব্যবহৃত বিভিন্ন মেথড

07. Django ফর্ম এ ব্যবহৃত বিভিন্ন মেথড

১. ফর্মের মধ্যে ব্যবহৃত মেথড (forms.py)

এগুলো forms.py ফাইলে সরাসরি ফর্ম ক্লাসের মধ্যে সংজ্ঞায়িত এবং ব্যবহৃত হয়। সাধারণত, এই মেথডগুলো ফর্ম ডাটার প্রাথমিক যাচাই এবং কাস্টমাইজেশনের জন্য ব্যবহৃত হয়।

  • __init__: ফর্মের ইনস্ট্যান্স তৈরি করার সময় ফিল্ডগুলোর প্রপার্টি কাস্টমাইজ করতে।
  • clean(): পুরো ফর্মের ডাটা যাচাইয়ের জন্য ব্যবহৃত হয়।
  • clean_<fieldname>(): নির্দিষ্ট ফিল্ডের জন্য কাস্টম ভ্যালিডেশন চেক করার জন্য।
  • save(commit=True): ফর্মের ডাটা সেভ করার জন্য। এটি সাধারণত ModelForm এ ব্যবহৃত হয়।
  • add_error(field, error): নির্দিষ্ট ফিল্ডে ত্রুটি বার্তা যোগ করতে।
  • has_changed(): ফর্মের ডাটা পরিবর্তিত হয়েছে কিনা তা চেক করতে।
  • changed_data: যেসব ফিল্ডের ডাটা পরিবর্তিত হয়েছে, সেগুলোর নাম প্রদান করে।
  • errors: ফর্মে যেসব ফিল্ডে ত্রুটি হয়েছে সেগুলোর ত্রুটি বার্তা প্রদান করে।

২. ফর্মের জন্য ভিউতে ব্যবহৃত মেথড

ভিউতে ফর্মের ডাটা প্রক্রিয়াজাত, যাচাই, এবং সেভ করার জন্য নিম্নলিখিত মেথডগুলো ব্যবহৃত হয়।

  • is_valid(): ফর্মের ডাটা যাচাই করে জানায় যে ফর্মটি ভ্যালিড কিনা।
  • save(commit=True): ফর্মের ডাটা সেভ করতে ব্যবহৃত হয়। এটি সাধারণত তখনই ব্যবহৃত হয় যখন is_valid() রিটার্ন True হয়।
  • get_context_data(): Class-based views (CBV) এ কনটেক্সট ডাটা প্রেরণের জন্য ব্যবহৃত হয়।
  • form_valid(): CBV এ ফর্ম ভ্যালিড হওয়ার পর কী করা হবে তা সংজ্ঞায়িত করে।
  • form_invalid(): CBV এ ফর্ম ইনভ্যালিড হলে কী করা হবে তা সংজ্ঞায়িত করে।

৩. টেম্পলেটে ব্যবহৃত মেথড এবং অ্যাট্রিবিউট

টেম্পলেটে ফর্মের বিভিন্ন ফিল্ড এবং ত্রুটি বার্তা প্রদর্শনের জন্য এই মেথড এবং অ্যাট্রিবিউটগুলো ব্যবহৃত হয়।

  • {{ form.field_name.errors }}: নির্দিষ্ট ফিল্ডের ত্রুটি বার্তা প্রদর্শন করে।
  • {{ form.non_field_errors }}: ফর্ম লেভেল ত্রুটি বার্তা প্রদর্শন করে।
  • {{ form.as_p }} / {{ form.as_table }} / {{ form.as_ul }}: ফর্মটিকে p ট্যাগ, table, বা ul এর ফরম্যাটে প্রদর্শন করে।
  • {{ form.field_name.value }}: নির্দিষ্ট ফিল্ডের ইনপুট ভ্যালু রেন্ডার করে।
  • {{ form.field_name.label }}: ফিল্ডের লেবেল প্রদর্শন করে।
  • {{ form.field_name.help_text }}: ফিল্ডের হেল্প টেক্সট দেখায়, যদি থাকে।
  • {{ form.field_name.id_for_label }}: টেম্পলেটে নির্দিষ্ট ফিল্ডের জন্য লেবেল id ব্যবহার করতে।

How can we help?