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