Django

⌘K
  1. Home
  2. Django
  3. Django তে কিভাবে কাজ করতে...
  4. Django এর ইতিহাস

Django এর ইতিহাস

Django এর ইতিহাস

Django এর ইতিহাস শুরু হয়েছিল ২০০৩ সালে, যখন Lawrence Journal-World নামক একটি নিউজপেপার কোম্পানির জন্য দুইজন ডেভেলপার, Adrian Holovaty এবং Simon Willison, একটি ওয়েব ফ্রেমওয়ার্ক তৈরি করেন। তারা একটি ফ্রেমওয়ার্ক তৈরি করতে চেয়েছিলেন, যা দিয়ে দ্রুতগতিতে ওয়েব অ্যাপ্লিকেশন তৈরি করা যায়।

Django মূলত পত্রিকার ওয়েবসাইট পরিচালনার জন্যই তৈরি করা হয়েছিল। একে ব্যবহার করে, তারা কনটেন্ট ম্যানেজমেন্ট, ডাটাবেস ম্যানেজমেন্ট ইত্যাদি কাজ খুব সহজে এবং দ্রুততার সাথে করতে পারছিলেন।

Django নামকরণের কারণ:

এই ফ্রেমওয়ার্কটির নাম রাখা হয়েছিল “Django Reinhardt” এর নাম অনুসারে, যিনি একজন কিংবদন্তী জ্যাজ গিটারিস্ট ছিলেন।

গুরুত্বপূর্ণ মাইলফলক:

  • ২০০৫ সালে Django ওপেন সোর্স করা হয়, এবং Python ভিত্তিক ওয়েব ডেভেলপারদের মধ্যে এটি তুমুল জনপ্রিয় হয়ে ওঠে।
  • ২০০৮ সালে Django 1.0 রিলিজ করা হয়, যা একটি পূর্ণাঙ্গ এবং স্থিতিশীল ফ্রেমওয়ার্ক হিসেবে প্রমাণিত হয়।
  • এরপর থেকে Django কমিউনিটি এর নতুন নতুন সংস্করণ আপডেট করতে থাকে এবং বর্তমানে এটি Python এর অন্যতম জনপ্রিয় এবং শক্তিশালী ওয়েব ফ্রেমওয়ার্ক।

Django এর আর্কিটেকচার

Django মূলত “MVT” (Model-View-Template) আর্কিটেকচার অনুসরণ করে, যা MVC (Model-View-Controller) আর্কিটেকচারের মতোই, তবে এতে কিছু পার্থক্য রয়েছে।

1. Model (মডেল):

Model Django এর মূল ডাটাবেস লেয়ারকে নির্দেশ করে। মডেল মূলত ডাটাবেসের টেবিল এবং ফিল্ডগুলোর সাথে সরাসরি সম্পর্কিত, এবং এর মাধ্যমে ডাটাবেসে কনটেন্ট তৈরি, আপডেট, ডিলিট, এবং ফিল্টার করা যায়। Django এর ORM (Object-Relational Mapping) ব্যবহার করে খুব সহজে ডাটাবেস ম্যানেজ করা যায়।

2. View (ভিউ):

View মূলত লজিকাল লেয়ার। Django এর Views ডাটাবেস থেকে কনটেন্ট ফিল্টার করে, প্রয়োজনীয় ডাটা প্রসেস করে এবং তা টেমপ্লেটে পাঠায়। এটি একটি ফাংশন বা ক্লাস ভিত্তিক হতে পারে। ভিউ কন্ট্রোলারের মতো কাজ করে, তবে এটি শুধু লজিক পরিচালনা করে।

3. Template (টেমপ্লেট):

Template ব্যবহার করে HTML ফাইল তৈরি করা হয়, যেখানে Django এর ডাটা ইনজেক্ট করা হয়। Django এর Template System এর মাধ্যমে আমরা ডাইনামিক HTML কন্টেন্ট প্রদর্শন করতে পারি। এর জন্য Django Template Language (DTL) ব্যবহার করা হয়।

Django আর্কিটেকচার ফ্লো

  1. HTTP Request: ব্যবহারকারী যখন কোনো URL হিট করেন, তখন Django এর URL Dispatcher সেই URL এর সাথে ম্যাচ করে View Function বা Class-based View এর সাথে রিকোয়েস্ট ফরোয়ার্ড করে।
  2. Views: ভিউ Django এর মূল লজিক্যাল লেয়ার হিসেবে কাজ করে। এটি প্রয়োজন অনুযায়ী ডাটাবেস থেকে ডাটা নিয়ে আসে।
  3. Model: মডেল মূলত ডাটাবেস লেয়ারের সাথে কাজ করে এবং ডাটা সংগ্রহ, আপডেট, ডিলিট বা সেভ করার কাজ করে।
  4. Template: ভিউ থেকে পাওয়া ডাটাকে Template এর মাধ্যমে HTML আউটপুট তৈরি করা হয়, যা ব্যবহারকারীর কাছে প্রেরণ করা হয়।

Django আর্কিটেকচারের ডায়াগ্রাম:

   User Request
       
   URL Dispatcher
       
     Views (Business Logic)
       
     Models (Database)
       
   Template (HTML Content)
       
   User Response

Django আর্কিটেকচারের সুবিধা:

  • Separation of Concerns: MVT আর্কিটেকচারের মাধ্যমে Django কোড এবং ফাংশনালিটির মধ্যে সুন্দরভাবে বিভাজন তৈরি করে, যা ডেভেলপারদের জন্য কাজ সহজ করে তোলে।
  • Reusable Components: Django এর প্রতিটি কম্পোনেন্ট পুনরায় ব্যবহারযোগ্য, যেমন: অ্যাপ্লিকেশন, ফর্ম, মডেল ইত্যাদি।
  • নিরাপত্তা: Django এর বিল্ট-ইন সিকিউরিটি ফিচার ব্যবহার করে XSS, CSRF, SQL Injection ইত্যাদি প্রতিরোধ করা যায়।

একটি উদাহরণ

ধরা যাক, একটি ই-কমার্স ওয়েবসাইট তৈরি করতে হবে, যেখানে কাস্টমার পণ্য ব্রাউজ করতে, অর্ডার করতে, এবং পেমেন্ট করতে পারবে। এখানে Django এর MVT আর্কিটেকচারের প্রতিটি ধাপ কিভাবে কাজ করবে, তা দেখা যাক:

  1. Model: আপনি একটি Product মডেল তৈরি করবেন যেখানে পণ্যের নাম, দাম, বিবরণ ইত্যাদি থাকবে।
  2. View: কাস্টমারের রিকোয়েস্ট অনুযায়ী প্রোডাক্ট লিস্ট প্রদর্শন করার জন্য একটি View তৈরি করবেন।
  3. Template: প্রোডাক্টের ডাটা টেমপ্লেট এ ইনজেক্ট করে HTML তৈরি করবেন।
  4. URL: “/products/” URL তৈরি করে প্রোডাক্টের লিস্ট ভিউ এবং টেমপ্লেটকে রেন্ডার করবেন।

এভাবেই Django আর্কিটেকচার ব্যবহার করে পুরো একটি ই-কমার্স ওয়েবসাইট তৈরি করা সম্ভব।

Django এর MVT আর্কিটেকচারের এই কাঠামো এবং ইতিহাস বুঝে, আমরা খুব সহজেই এর মাধ্যমে প্রফেশনাল ওয়েবসাইট তৈরি করতে পারি।

How can we help?