Django প্রজেক্টের মধ্যে একাধিক অ্যাপ্লিকেশন থাকতে পারে, প্রতিটি অ্যাপ্লিকেশন একটি নির্দিষ্ট ফিচার বা কার্যকারিতা সম্পাদন করে। Django অ্যাপ্লিকেশন তৈরি করা খুবই সহজ এবং এটি Django প্রজেক্টের মধ্যে একাধিক মডিউল বা ফিচার যুক্ত করতে সাহায্য করে।
Django অ্যাপ্লিকেশন তৈরি করার ধাপ
১. Django প্রজেক্টের ভিতরে অ্যাপ্লিকেশন তৈরি করা
Django প্রজেক্ট তৈরি হওয়ার পর, আপনি Django প্রজেক্টের ভিতরে এক বা একাধিক অ্যাপ্লিকেশন তৈরি করতে পারেন। একটি নতুন অ্যাপ্লিকেশন তৈরি করার জন্য django-admin startapp কমান্ড ব্যবহার করা হয়।
নতুন অ্যাপ্লিকেশন তৈরি করা:
python manage.py startapp app_nameএখানে
app_nameহচ্ছে আপনার অ্যাপ্লিকেশনের নাম, যা আপনি ইচ্ছামত রাখতে পারেন। উদাহরণস্বরূপ, একটি ব্লগ অ্যাপ তৈরি করতে:python manage.py startapp blogএটি
blogনামের একটি নতুন অ্যাপ্লিকেশন তৈরি করবে।
২. অ্যাপ্লিকেশন ফোল্ডার স্ট্রাকচার
নতুন অ্যাপ্লিকেশন তৈরি হলে, এটি একটি ফোল্ডার তৈরি করবে যেখানে কিছু গুরুত্বপূর্ণ ফাইল থাকবে। এই ফোল্ডারের স্ট্রাকচার নিচের মতো হবে:
blog/
__init__.py
admin.py
apps.py
models.py
tests.py
views.py
admin.py: এই ফাইলে আপনি Django অ্যাডমিন প্যানেলের জন্য মডেল কনফিগারেশন করবেন।apps.py: এই ফাইলে অ্যাপের কনফিগারেশন থাকে এবং এটি Django প্রজেক্টের মধ্যে অ্যাপ্লিকেশনটি রেজিস্টার করে।models.py: এই ফাইলে আপনি ডেটাবেস মডেল তৈরি করবেন।tests.py: এখানে আপনার অ্যাপ্লিকেশনের জন্য টেস্ট কেস লিখতে পারবেন।views.py: এই ফাইলে অ্যাপ্লিকেশনটির ভিউ ফাংশন বা ক্লাসভিত্তিক ভিউ থাকবে, যেগুলি ইউজারের রিকোয়েস্টকে প্রসেস করে এবং রেসপন্স পাঠায়।
৩. অ্যাপ্লিকেশনটি প্রজেক্টে যুক্ত করা
নতুন অ্যাপ্লিকেশন তৈরি হওয়ার পর, আপনাকে সেটি আপনার Django প্রজেক্টে যুক্ত করতে হবে। এটি করতে, settings.py ফাইলে আপনার অ্যাপের নাম ইনস্টলড অ্যাপস (INSTALLED_APPS) তালিকায় যুক্ত করতে হবে।
settings.pyফাইলে অ্যাপ যুক্ত করা:INSTALLED_APPS = [ ... 'blog', # অ্যাপ্লিকেশনটির নাম এখানে যুক্ত করুন ... ]এখানে
'blog'হচ্ছে আপনার অ্যাপের নাম, যেটি আপনি তৈরি করেছেন।
৪. মডেল তৈরি করা
অ্যাপ্লিকেশনের জন্য ডেটাবেস মডেল তৈরি করতে models.py ফাইল ব্যবহার করা হয়। উদাহরণস্বরূপ, একটি ব্লগ অ্যাপে একটি পোস্ট মডেল তৈরি করা যেতে পারে।
models.pyফাইলে মডেল তৈরি করা:from django.db import models class Post(models.Model): title = models.CharField(max_length=100) content = models.TextField() created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True) def __str__(self): return self.titleএই কোডটিতে, একটি
Postমডেল তৈরি করা হয়েছে যেখানেtitle,content,created_at, এবংupdated_atফিল্ড রয়েছে।
৫. ডাটাবেস মাইগ্রেশন
মডেল তৈরি করার পর, আপনাকে ডাটাবেসে এই মডেলটি মাইগ্রেট করতে হবে। মাইগ্রেশন প্রক্রিয়া ডেটাবেসে টেবিল এবং ফিল্ড তৈরি করবে।
মাইগ্রেশন তৈরি করা:
python manage.py makemigrationsমাইগ্রেশন রান করা:
python manage.py migrate
এটি ডাটাবেসে আপনার মডেলগুলোর জন্য টেবিল তৈরি করবে।
৬. Django অ্যাডমিন প্যানেলে মডেল রেজিস্টার করা
যেহেতু Django অ্যাডমিন প্যানেল ব্যবহারকারীদের জন্য ইউজার ফ্রেন্ডলি ইন্টারফেস সরবরাহ করে, আপনাকে আপনার মডেলটি অ্যাডমিন প্যানেলে রেজিস্টার করতে হবে যাতে আপনি ডাটাবেসে রেকর্ড পরিচালনা করতে পারেন।
admin.pyফাইলে মডেল রেজিস্টার করা:from django.contrib import admin from .models import Post admin.site.register(Post)
এখন আপনি Django অ্যাডমিন প্যানেল থেকে আপনার Post মডেলটি দেখতে এবং এডিট করতে পারবেন।
৭. অ্যাপ্লিকেশনটি চলাচল পরীক্ষা করা
সবকিছু সঠিকভাবে সেটআপ হলে, Django সার্ভার চালু করে আপনার অ্যাপ্লিকেশনটি পরীক্ষা করুন।
সার্ভার চালানো:
python manage.py runserver
এখন আপনি http://127.0.0.1:8000/admin/ URL এ গিয়ে Django অ্যাডমিন প্যানেলে লগইন করতে পারবেন (আপনি যদি অ্যাডমিন ইউজার তৈরি না করেন, তবে python manage.py createsuperuser কমান্ড দিয়ে একটি অ্যাডমিন ইউজার তৈরি করতে হবে) এবং আপনার ব্লগ পোস্ট মডেলটি দেখতে পারবেন।
সারাংশ
এভাবে, আপনি Django অ্যাপ্লিকেশন তৈরি করতে পারেন এবং সেটিতে মডেল, ভিউ, এবং অ্যাডমিন প্যানেল কনফিগারেশন করতে পারেন। Django অ্যাপ্লিকেশন তৈরি করার মাধ্যমে আপনি একটি পূর্ণাঙ্গ ওয়েব অ্যাপ্লিকেশন তৈরি করার প্রথম পদক্ষেপ নিতে পারেন।
Django প্রজেক্ট তৈরি করার পর, আপনাকে সাধারণত এক বা একাধিক অ্যাপ তৈরি করতে হয়। Django অ্যাপস হলো ছোট, স্বতন্ত্র মডিউল যা প্রজেক্টের বিভিন্ন কার্যক্রম বা ফিচারগুলোর জন্য ব্যবহৃত হয়। একটি Django প্রজেক্টের মধ্যে একাধিক অ্যাপ থাকতে পারে, যেমন - ব্লগ, ইউজার অ্যাকাউন্ট, কনটেন্ট ম্যানেজমেন্ট সিস্টেম ইত্যাদি।
এখানে আমরা দেখব কীভাবে Django Admin ব্যবহার করে একটি নতুন অ্যাপ তৈরি করবেন।
Django অ্যাপ তৈরি করার ধাপ
১. প্রজেক্টের ডিরেক্টরিতে থাকা
প্রথমেই নিশ্চিত হয়ে নিন যে আপনি Django প্রজেক্টের ডিরেক্টরিতে আছেন। যদি আপনি অ্যাপ তৈরি করতে চান, তবে আপনার প্রজেক্ট ফোল্ডারে প্রবেশ করুন:
cd myblog
২. নতুন অ্যাপ তৈরি করা
Django এর startapp কমান্ড ব্যবহার করে নতুন একটি অ্যাপ তৈরি করা যায়। নিচের কমান্ডটি রান করে একটি নতুন অ্যাপ তৈরি করুন:
python manage.py startapp app_name
এখানে app_name হলো আপনার অ্যাপের নাম, যা আপনি ইচ্ছেমত রাখতে পারেন। যেমন, যদি আপনি একটি ব্লগ অ্যাপ তৈরি করতে চান, তাহলে কমান্ডটি হবে:
python manage.py startapp blog
এটি blog নামের একটি নতুন অ্যাপ তৈরি করবে এবং প্রজেক্টের মূল ডিরেক্টরিতে একটি নতুন ফোল্ডার তৈরি হবে, যার মধ্যে থাকবে আপনার অ্যাপের জন্য প্রয়োজনীয় সব ফাইল।
৩. অ্যাপের ফোল্ডার স্ট্রাকচার
নতুন অ্যাপ তৈরি হওয়ার পর, এর ফোল্ডার স্ট্রাকচার কিছুটা এই রকম হবে:
myblog/
manage.py
myblog/
__init__.py
settings.py
urls.py
asgi.py
wsgi.py
blog/
__init__.py
admin.py
apps.py
models.py
tests.py
views.py
এখানে কিছু গুরুত্বপূর্ণ ফাইল হলো:
admin.py: এই ফাইলে অ্যাপের মডেলগুলিকে Django Admin প্যানেলে রেজিস্টার করা হয়, যাতে আপনি সেগুলি অ্যাডমিন প্যানেল থেকে পরিচালনা করতে পারেন।apps.py: এখানে অ্যাপের কনফিগারেশন তথ্য থাকে, যেমন অ্যাপের নাম, ইনস্টলেশন সম্পর্কিত তথ্য ইত্যাদি।models.py: এই ফাইলে আপনি ডেটাবেস মডেল তৈরি করেন। মডেল হল Django এর ORM (Object-Relational Mapping) ব্যবহার করে ডেটাবেসের টেবিল তৈরি করার উপায়।views.py: এই ফাইলে আপনার অ্যাপের ভিউ ফাংশন বা ক্লাস থাকে, যেগুলি ব্যবহারকারীর অনুরোধের প্রতিক্রিয়া হিসেবে কাজ করে।tests.py: এখানে আপনি অ্যাপের জন্য টেস্ট কেস লিখতে পারেন, যা অ্যাপের কার্যক্ষমতা পরীক্ষা করতে সাহায্য করে।
৪. অ্যাপটি settings.py ফাইলে অ্যাড করা
আপনার অ্যাপটি Django প্রজেক্টের অংশ হিসেবে কাজ করতে, আপনাকে এই অ্যাপটি আপনার প্রজেক্টের settings.py ফাইলে যুক্ত করতে হবে।
settings.pyফাইলে,INSTALLED_APPSএর অধীনে আপনার অ্যাপের নাম যুক্ত করুন:INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'blog', # এখানে 'blog' অ্যাপটি যুক্ত করুন ]
এটি নিশ্চিত করবে যে আপনার অ্যাপটি Django প্রজেক্টের অংশ হিসেবে সঠিকভাবে কাজ করবে।
৫. অ্যাপের মডেল তৈরি করা
এখন আপনি আপনার অ্যাপের জন্য ডেটাবেস মডেল তৈরি করতে পারেন। models.py ফাইলে মডেল তৈরি করুন। উদাহরণস্বরূপ:
# blog/models.py
from django.db import models
class Post(models.Model):
title = models.CharField(max_length=100)
content = models.TextField()
created_at = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.title
এই কোডে আমরা একটি Post মডেল তৈরি করেছি, যেখানে একটি ব্লগ পোস্টের শিরোনাম, কন্টেন্ট এবং তৈরি হওয়ার সময় থাকবে।
৬. মাইগ্রেশন করা
মডেল তৈরি করার পর, আপনাকে ডেটাবেসে মডেলগুলির জন্য টেবিল তৈরি করতে মাইগ্রেশন করতে হবে।
প্রথমে মডেল পরিবর্তনগুলি সনাক্ত করতে makemigrations কমান্ড রান করুন:
python manage.py makemigrations
এরপর মাইগ্রেশন সম্পন্ন করতে migrate কমান্ড রান করুন:
python manage.py migrate
এটি ডেটাবেসে আপনার Post মডেলটির জন্য একটি টেবিল তৈরি করবে।
৭. Django Admin প্যানেলে অ্যাপ রেজিস্টার করা
এখন আপনি যদি চান আপনার অ্যাপের মডেলগুলি Django Admin প্যানেলে প্রদর্শিত হোক, তাহলে আপনাকে admin.py ফাইলে মডেলটি রেজিস্টার করতে হবে:
# blog/admin.py
from django.contrib import admin
from .models import Post
admin.site.register(Post)
এটি আপনার Post মডেলটি Django Admin প্যানেলে রেজিস্টার করবে, যাতে আপনি অ্যাডমিন প্যানেল থেকে এই মডেলটি পরিচালনা করতে পারেন।
৮. Django Admin প্যানেল ব্যবহার করা
এখন আপনি Django Admin প্যানেলে লগইন করে আপনার অ্যাপটি পরিচালনা করতে পারবেন। প্রথমে, আপনি Django অ্যাডমিন ইউজার তৈরি করতে হবে।
এটি করতে:
python manage.py createsuperuser
এই কমান্ডটি আপনাকে অ্যাডমিন ইউজার তৈরি করতে বলবে। একটি ইউজারনেম, ইমেইল এবং পাসওয়ার্ড সেট করুন।
এরপর, আপনি Django সার্ভার চালু করুন:
python manage.py runserver
এবং আপনার ব্রাউজারে http://127.0.0.1:8000/admin/ এ গিয়ে লগইন করুন। সেখানে আপনি আপনার Post মডেলটি দেখতে পাবেন এবং নতুন পোস্ট তৈরি বা সম্পাদনা করতে পারবেন।
সারাংশ
এইভাবে, আপনি Django Admin ব্যবহার করে একটি নতুন অ্যাপ তৈরি করতে পারেন এবং সেটি পরিচালনা করতে পারেন। Django অ্যাপ তৈরি করার পর, আপনার মডেল, ভিউ, টেমপ্লেট ইত্যাদি তৈরি করে অ্যাপটির কার্যক্ষমতা উন্নত করতে পারবেন।
Django প্রজেক্টে একাধিক অ্যাপ থাকতে পারে এবং প্রতিটি অ্যাপের নিজস্ব কার্যাবলি (functionality) থাকে। Django প্রজেক্টের বিভিন্ন অ্যাপগুলো কাজ করতে হলে, তাদের INSTALLED_APPS সেটিংসে যুক্ত করতে হয়। এটি একটি তালিকা (list) যেখানে আপনি প্রজেক্টে ব্যবহৃত সকল অ্যাপের নাম যুক্ত করেন।
INSTALLED_APPS কি?
Django প্রজেক্টের settings.py ফাইলে থাকা INSTALLED_APPS সেটিংসটি একটি তালিকা, যেখানে প্রজেক্টে ইনস্টল করা সমস্ত অ্যাপের নাম রাখা হয়। এই অ্যাপগুলো Django এর কোর ফিচারগুলোর সাথে সংযুক্ত এবং Django এ বিভিন্ন ফিচার সঠিকভাবে কাজ করতে সাহায্য করে।
উদাহরণ:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
এখানে Django এর ডিফল্ট অ্যাপগুলো যেমন admin, auth, sessions ইত্যাদি দেখানো হয়েছে। নতুন অ্যাপ তৈরি করলে, সেটিকে এখানে যুক্ত করতে হবে।
নতুন অ্যাপ তৈরি এবং INSTALLED_APPS এ যুক্ত করা
১. নতুন অ্যাপ তৈরি করা
Django প্রজেক্টে নতুন অ্যাপ তৈরি করতে python manage.py startapp কমান্ড ব্যবহার করতে হয়। উদাহরণস্বরূপ, একটি নতুন অ্যাপ তৈরি করতে:
python manage.py startapp blog
এটি blog নামে একটি নতুন অ্যাপ তৈরি করবে এবং blog/ ফোল্ডারটি প্রজেক্টের মূল ডিরেক্টরিতে থাকবে।
২. অ্যাপ INSTALLED_APPS এ যুক্ত করা
নতুন অ্যাপটি তৈরি হওয়ার পর, আপনাকে এটি INSTALLED_APPS তালিকায় যুক্ত করতে হবে যাতে Django সেটি চিনতে পারে।
- আপনার প্রজেক্টের
settings.pyফাইল খুলুন। INSTALLED_APPSতালিকায় অ্যাপের নাম যুক্ত করুন।
উদাহরণ:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'blog', # নতুন অ্যাপ যুক্ত করা হলো
]
এখানে blog হলো নতুন অ্যাপের নাম, যা আপনি startapp কমান্ড দিয়ে তৈরি করেছিলেন।
অ্যাপের মডেল এবং মাইগ্রেশন
অ্যাপটি INSTALLED_APPS এ যুক্ত করার পর, যদি আপনি অ্যাপটির মডেল তৈরি করেন এবং ডেটাবেসে সেগুলো মাইগ্রেট করতে চান, তাহলে আপনাকে মাইগ্রেশন করতে হবে।
১. মডেল তৈরি করা
উদাহরণস্বরূপ, blog অ্যাপে একটি নতুন মডেল তৈরি করা:
# blog/models.py
from django.db import models
class Post(models.Model):
title = models.CharField(max_length=200)
content = models.TextField()
created_at = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.title
২. মাইগ্রেশন তৈরি এবং রান করা
মডেল তৈরি করার পর, আপনি ডেটাবেসে মডেলটি প্রয়োগ করতে মাইগ্রেশন করতে হবে।
প্রথমে মাইগ্রেশন ফাইল তৈরি করুন:
python manage.py makemigrationsতারপর মাইগ্রেশন রান করুন:
python manage.py migrate
এটি আপনার ডেটাবেসে মডেলটির জন্য টেবিল তৈরি করবে এবং অ্যাপের ডেটা সঠিকভাবে সংরক্ষণ করবে।
সারাংশ
- Django প্রজেক্টে নতুন অ্যাপ তৈরি হলে,
INSTALLED_APPSএ অ্যাপটির নাম যুক্ত করতে হয়। INSTALLED_APPSসেটিংসে অ্যাপ যুক্ত করার পর, আপনি অ্যাপের মডেল তৈরি করতে পারেন এবং ডেটাবেসে সেগুলো মাইগ্রেট করতে পারেন।startappকমান্ড দিয়ে নতুন অ্যাপ তৈরি করা হয় এবং সেটিINSTALLED_APPSএ যুক্ত করে প্রজেক্টের অংশ হিসেবে ব্যবহৃত হয়।
এটি Django প্রজেক্টে নতুন অ্যাপ যুক্ত করার একটি মৌলিক প্রক্রিয়া।
Django একটি শক্তিশালী এবং স্কেলেবল ওয়েব ফ্রেমওয়ার্ক, যা প্রজেক্ট এবং অ্যাপ্লিকেশনের মধ্যে স্পষ্টভাবে বিভক্ত থাকে। একটি Django প্রজেক্টে একাধিক অ্যাপ্লিকেশন থাকতে পারে, এবং প্রতিটি অ্যাপ্লিকেশন তার নিজস্ব ফোল্ডার স্ট্রাকচার ধারণ করে। এখানে আমরা একটি Django অ্যাপ্লিকেশনের ডিরেক্টরি স্ট্রাকচার বিস্তারিতভাবে আলোচনা করবো।
Django অ্যাপ্লিকেশনের ফোল্ডার স্ট্রাকচার
যখন আপনি Django অ্যাপ্লিকেশন তৈরি করবেন, তখন এটি একটি নির্দিষ্ট ডিরেক্টরি স্ট্রাকচার অনুসরণ করে। একটি সাধারণ Django অ্যাপ্লিকেশনের ডিরেক্টরি স্ট্রাকচার দেখতে এরকম হয়:
myapp/
admin.py
apps.py
models.py
tests.py
views.py
migrations/
__init__.py
static/
myapp/
css/
js/
images/
templates/
myapp/
template1.html
template2.html
urls.py
ফোল্ডার এবং ফাইলের বিবরণ
১. admin.py
- এই ফাইলটি Django অ্যাপ্লিকেশনের admin interface কনফিগার করার জন্য ব্যবহৃত হয়।
- এখানে আপনি মডেলগুলোকে Django Admin প্যানেলে প্রদর্শন করতে কাস্টমাইজ করতে পারেন।
২. apps.py
- এটি Django অ্যাপ্লিকেশনের কনফিগারেশন ফাইল। এখানে অ্যাপের জন্য কোন বিশেষ কনফিগারেশন করা হয়, যেমন অ্যাপটির নাম, অ্যাপের রেজিস্ট্রেশন ইত্যাদি।
৩. models.py
- এই ফাইলে আপনার ডেটাবেস টেবিলের জন্য মডেলগুলো সংজ্ঞায়িত করা হয়। Django এর ORM (Object-Relational Mapping) ব্যবহার করে আপনি ডেটাবেস মডেল এবং টেবিল তৈরি করতে পারেন।
৪. views.py
- এই ফাইলে অ্যাপ্লিকেশনের ভিউ (views) সংজ্ঞায়িত করা হয়। ভিউ হচ্ছে ফাংশন বা ক্লাস যা HTTP রিকোয়েস্টের প্রেক্ষিতে রেসপন্স দেয়। এখানে আপনি ব্যবহারকারীর রিকোয়েস্ট অনুসারে টেমপ্লেট রেন্ডার বা ডেটা প্রদান করেন।
৫. tests.py
- এই ফাইলে অ্যাপ্লিকেশনের জন্য ইউনিট টেস্ট এবং ইনটিগ্রেশন টেস্ট লেখা হয়। Django টেস্ট ফ্রেমওয়ার্ক ব্যবহার করে আপনি টেস্ট কেস লিখতে পারেন।
৬. migrations/
- Django ORM ব্যবহার করে যখন ডেটাবেস মডেল পরিবর্তন করা হয়, তখন এই ফোল্ডারে মাইগ্রেশন ফাইল তৈরি হয়। মাইগ্রেশন ফাইল ডেটাবেসে পরিবর্তনগুলি প্রয়োগ করতে সাহায্য করে।
__init__.py: এটি একটি সাধারণ Python ফাইল, যা মাইগ্রেশন ডিরেক্টরিটিকে একটি Python প্যাকেজ হিসেবে চিহ্নিত করে।
৭. static/
- এই ফোল্ডারে আপনি আপনার স্ট্যাটিক ফাইল (যেমন CSS, JavaScript, ইমেজ) রাখেন। স্ট্যাটিক ফাইলগুলি সাধারণত ওয়েবপেজের ডিজাইন ও ফাংশনালিটি তৈরি করতে ব্যবহৃত হয়।
- এখানে
myapp/সাবফোল্ডারে আপনার অ্যাপ্লিকেশনের জন্য নির্দিষ্ট স্ট্যাটিক ফাইল রাখতে পারেন (যেমনcss/,js/,images/)।
৮. templates/
- এই ফোল্ডারে আপনি আপনার অ্যাপ্লিকেশনের HTML টেমপ্লেট রাখেন। Django টেমপ্লেট সিস্টেম ব্যবহার করে আপনি ডাইনামিক কনটেন্ট রেন্ডার করতে পারেন।
myapp/সাবফোল্ডারে আপনি অ্যাপ্লিকেশনের জন্য টেমপ্লেটগুলো রাখতে পারেন, যেমনtemplate1.html,template2.htmlইত্যাদি।
৯. urls.py
- এই ফাইলে আপনার অ্যাপ্লিকেশনের URL রাউটিং কনফিগারেশন থাকে। Django তে URL কনফিগারেশন হয়, যাতে ভিউ এবং URL প্যাটার্নের মধ্যে সম্পর্ক স্থাপন করা যায়।
একটি সম্পূর্ণ Django প্রজেক্টের স্ট্রাকচার
যখন আপনি Django প্রজেক্ট তৈরি করবেন, তখন একটি প্রজেক্টের ভিতরে এক বা একাধিক অ্যাপ্লিকেশন থাকতে পারে। একটি Django প্রজেক্টের সাধারণ স্ট্রাকচার দেখতে এরকম হয়:
myproject/
manage.py
myproject/
__init__.py
settings.py
urls.py
asgi.py
wsgi.py
myapp/
admin.py
apps.py
models.py
views.py
tests.py
migrations/
static/
templates/
urls.py
manage.py: Django প্রজেক্টের ম্যানেজমেন্ট টুল, যা সার্ভার চালানো, মাইগ্রেশন করা, অ্যাপ তৈরি করা ইত্যাদি কাজ করতে সাহায্য করে।myproject/: এটি Django প্রজেক্টের মূল ডিরেক্টরি, যেখানে প্রজেক্টের কনফিগারেশন ফাইলগুলো থাকে (যেমনsettings.py,urls.py, ইত্যাদি)।
সারাংশ
Django অ্যাপ্লিকেশনের ডিরেক্টরি স্ট্রাকচারটি খুবই নিয়মিত এবং সুসংগঠিত, যা অ্যাপ্লিকেশন ডেভেলপমেন্টে সাহায্য করে। প্রতিটি ফোল্ডার এবং ফাইল একটি নির্দিষ্ট দায়িত্ব পালন করে এবং এই স্ট্রাকচার অনুসরণ করে আপনার Django প্রজেক্ট পরিচালনা করা সহজ হয়ে যায়।
Django প্রজেক্টে একটি অ্যাপ্লিকেশন তৈরি করার সময়, মূলত তিনটি প্রধান উপাদান থাকে — মডেল (Model), ভিউ (View), এবং টেমপ্লেট (Template)। এগুলো Django এর MVT আর্কিটেকচারের ভিত্তি। এখানে আমরা মডেল, ভিউ এবং টেমপ্লেট তৈরির পদ্ধতি এবং এর ব্যবহার ব্যাখ্যা করব।
১. Django অ্যাপ তৈরি করা
প্রথমে একটি নতুন অ্যাপ তৈরি করুন, যদি আগে না করে থাকেন। এটি করার জন্য startapp কমান্ড ব্যবহার করতে হবে:
python manage.py startapp app_name
এটি app_name নামের একটি নতুন অ্যাপ তৈরি করবে। অ্যাপটি তৈরি হওয়ার পর, আপনার প্রজেক্টের মূল ডিরেক্টরিতে একটি নতুন ফোল্ডার app_name/ দেখা যাবে, যেখানে নিচের ফাইলগুলো থাকবে:
app_name/
__init__.py
admin.py
apps.py
models.py
views.py
tests.py
migrations/
__init__.py
২. মডেল (Model) তৈরি করা
মডেল (Model) হল Django এর ORM (Object-Relational Mapping) সিস্টেমের অংশ, যা ডাটাবেসের টেবিল এবং ডাটাবেসের মধ্যে সম্পর্ককে মডেল করে। Django মডেলকে ক্লাস হিসেবে সংজ্ঞায়িত করা হয়, যেগুলো ডাটাবেস টেবিলের সাথে সম্পর্কিত।
মডেল তৈরি করার ধাপ
models.pyফাইলে ক্লাস ডিফাইন করুন, যেখানে আপনি আপনার ডাটাবেস টেবিলের জন্য ফিল্ডগুলো উল্লেখ করবেন।উদাহরণস্বরূপ, একটি ব্লগ অ্যাপের জন্য একটি
Postমডেল তৈরি করা:from django.db import models class Post(models.Model): title = models.CharField(max_length=200) content = models.TextField() author = models.CharField(max_length=100) created_at = models.DateTimeField(auto_now_add=True) def __str__(self): return self.titleমডেল মাইগ্রেশন: মডেল তৈরি করার পর আপনাকে ডাটাবেসের সাথে মডেলটি সিঙ্ক করতে হবে, অর্থাৎ মাইগ্রেশন করতে হবে।
প্রথমে মাইগ্রেশন ফাইল তৈরি করুন:
python manage.py makemigrationsএরপর মাইগ্রেশন রান করুন:
python manage.py migrate
এখন আপনার Post মডেলটি ডাটাবেসে একটি টেবিল হিসেবে তৈরি হবে।
৩. ভিউ (View) তৈরি করা
ভিউ (View) হল Django অ্যাপ্লিকেশনের লজিক্যাল অংশ, যা ইউজারের অনুরোধ গ্রহণ করে এবং সেই অনুযায়ী রেসপন্স প্রদান করে। Django ভিউ মূলত একটি ফাংশন বা ক্লাস হিসেবে থাকে, যেটি একটি HTTP রিকোয়েস্টকে প্রসেস করে HTTP রেসপন্স ফেরত দেয়।
ভিউ তৈরি করার ধাপ
views.pyফাইলে একটি ফাংশন বা ক্লাস ভিউ তৈরি করুন।উদাহরণস্বরূপ, একটি ব্লগ পোস্ট দেখানোর জন্য একটি সিম্পল ভিউ ফাংশন:
from django.shortcuts import render from .models import Post def post_list(request): posts = Post.objects.all() return render(request, 'post_list.html', {'posts': posts})এখানে
post_listফাংশনটি সমস্ত ব্লগ পোস্ট ডাটাবেস থেকে নিয়ে আসবে এবংpost_list.htmlটেমপ্লেটে প্রদর্শন করবে।
৪. টেমপ্লেট (Template) তৈরি করা
টেমপ্লেট (Template) হল HTML ফাইল, যেখানে আপনি ডাটা প্রদর্শন করতে পারেন। Django টেমপ্লেট ভাষা ব্যবহার করে আপনি ডায়নামিক ডাটা উপস্থাপন করতে পারবেন।
টেমপ্লেট তৈরি করার ধাপ
templatesফোল্ডার তৈরি করুন অ্যাপের মধ্যে, এবং সেখানে একটি HTML ফাইল তৈরি করুন।উদাহরণস্বরূপ,
post_list.htmlফাইলটি তৈরি করুন:app_name/ templates/ post_list.htmlpost_list.htmlফাইলের উদাহরণ:<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Post List</title> </head> <body> <h1>Blog Posts</h1> <ul> {% for post in posts %} <li><strong>{{ post.title }}</strong> - {{ post.author }}</li> {% empty %} <li>No posts available.</li> {% endfor %} </ul> </body> </html>এখানে
{% for post in posts %}Django টেমপ্লেট ভাষার লুপ ব্যবহার করে সমস্ত পোস্ট প্রদর্শন করছে।
৫. URL রাউটিং
একটি ভিউকে URL প্যাটার্নের সাথে সংযুক্ত করার জন্য, আপনাকে urls.py ফাইলে URL রাউটিং করতে হবে।
URL রাউটিং ধাপ
অ্যাপের
urls.pyফাইল তৈরি করুন (যদি না থাকে) এবং URL প্যাটার্ন কনফিগার করুন।উদাহরণস্বরূপ,
post_listভিউ ফাংশনটি/posts/URL এ রাউট করতে:from django.urls import path from . import views urlpatterns = [ path('posts/', views.post_list, name='post_list'), ]প্রজেক্টের
urls.pyফাইলে অ্যাপের URL কনফিগারেশন যুক্ত করুন:from django.contrib import admin from django.urls import path, include urlpatterns = [ path('admin/', admin.site.urls), path('', include('app_name.urls')), # অ্যাপের URL ইনক্লুড করা ]
৬. Django অ্যাডমিন প্যানেল
Django অ্যাডমিন প্যানেলের মাধ্যমে আপনি মডেল ডাটা ম্যানেজ করতে পারেন। অ্যাডমিন প্যানেলে অ্যাপের মডেলগুলো দেখানোর জন্য, আপনাকে admin.py ফাইলে মডেল নিবন্ধন করতে হবে।
অ্যাডমিন নিবন্ধন
admin.pyফাইলে মডেলটি নিবন্ধন করুন:from django.contrib import admin from .models import Post admin.site.register(Post)
এখন আপনি Django অ্যাডমিন প্যানেলে লগ ইন করে আপনার Post মডেলটি দেখতে পারবেন এবং ডাটা ম্যানেজ করতে পারবেন।
সারাংশ
Django অ্যাপের জন্য মডেল, ভিউ, এবং টেমপ্লেট তৈরি করা হলো তিনটি গুরুত্বপূর্ণ পদক্ষেপ:
- মডেল ডাটাবেসের কাঠামো এবং সম্পর্ক নির্ধারণ করে।
- ভিউ ইউজারের অনুরোধ গ্রহণ করে এবং টেমপ্লেটে ডাটা পাঠায়।
- টেমপ্লেট HTML ফাইল যা ইউজারকে ডাটা উপস্থাপন করে।
এই তিনটি উপাদান একসঙ্গে কাজ করে Django অ্যাপ্লিকেশনকে ডায়নামিক এবং শক্তিশালী করে তোলে।
Read more