Django-এর প্রাথমিক গাইড: দ্রুত আপনার প্রথম ওয়েব অ্যাপ্লিকেশন তৈরি করুন
Django-এর প্রাথমিক গাইড: দ্রুত আপনার প্রথম ওয়েব অ্যাপ্লিকেশন তৈরি করুন
Django একটি উচ্চ-স্তরের পাইথন ওয়েব ফ্রেমওয়ার্ক, যা দ্রুত বিকাশ এবং সংক্ষিপ্ত নকশার লক্ষ্যে তৈরি। এটি মডেল-টেমপ্লেট-ভিউ (MTV) আর্কিটেকচার অনুসরণ করে, কোড পুনরায় ব্যবহার এবং কম্পোনেন্টাইজেশনকে উৎসাহিত করে। এই গাইডটি আপনাকে ধাপে ধাপে একটি সাধারণ Django অ্যাপ্লিকেশন তৈরি করতে সাহায্য করবে, যা আপনাকে দ্রুত শুরু করতে সহায়তা করবে।
1. পরিবেশ তৈরি করা
প্রথমত, আপনাকে নিশ্চিত করতে হবে যে আপনার সিস্টেমে পাইথন ইনস্টল করা আছে। Django পাইথন 3.6 বা তার উপরের সংস্করণ ব্যবহার করার পরামর্শ দেয়।
1.1 পাইথন ইনস্টল করুন
যদি আপনার সিস্টেমে পাইথন ইনস্টল করা না থাকে, তবে আপনি পাইথন অফিসিয়াল ওয়েবসাইট থেকে ডাউনলোড এবং ইনস্টল করতে পারেন।
1.2 ভার্চুয়াল এনভায়রনমেন্ট তৈরি করুন (Virtual Environment)
বিভিন্ন প্রকল্পের মধ্যে নির্ভরতা আলাদা করার জন্য, ভার্চুয়াল এনভায়রনমেন্ট ব্যবহার করার জন্য দৃঢ়ভাবে সুপারিশ করা হচ্ছে।
-
টার্মিনাল বা কমান্ড প্রম্পট খুলুন।
-
একটি প্রকল্প ডিরেক্টরি তৈরি করুন, উদাহরণস্বরূপ
myproject:
mkdir myproject cd myproject ```
-
ভার্চুয়াল এনভায়রনমেন্ট তৈরি এবং সক্রিয় করুন:
python3 -m venv venv # অথবা python -m venv venv source venv/bin/activate # Linux/macOS venv\Scripts\activate # Windows ```
ভার্চুয়াল এনভায়রনমেন্ট সক্রিয় করার পরে, আপনার টার্মিনাল প্রম্পটে `(venv)` প্রদর্শিত হবে, যা নির্দেশ করে যে আপনি ভার্চুয়াল এনভায়রনমেন্ট ব্যবহার করছেন।
1.3 Django ইনস্টল করুন
সক্রিয় ভার্চুয়াল এনভায়রনমেন্টে, pip ব্যবহার করে Django ইনস্টল করুন:
pip install Django
ইনস্টলেশন সফল হয়েছে কিনা তা যাচাই করুন:
python -m django --version
আপনার Django-এর সংস্করণ নম্বর দেখতে পাওয়ার কথা।
2. Django প্রকল্প তৈরি করুন
Django ইনস্টল করার পরে, আপনি একটি নতুন Django প্রকল্প তৈরি করতে পারেন।
-
এখনও আপনার প্রকল্প ডিরেক্টরিতে (
myproject) নিম্নলিখিত কমান্ডটি চালান:
django-admin startproject mysite ```
এটি `myproject` ডিরেক্টরিতে `mysite` নামের একটি ডিরেক্টরি তৈরি করবে, যাতে Django প্রকল্পের কাঠামো ফাইল থাকবে।
2. mysite ডিরেক্টরিতে প্রবেশ করুন:
```bash
cd mysite ```
-
Django প্রকল্পের ডিরেক্টরি কাঠামো নিম্নরূপ:
mysite/ manage.py mysite/ init.py settings.py urls.py asgi.py wsgi.py ```
* `manage.py`: একটি কমান্ড-লাইন সরঞ্জাম, যা Django প্রকল্প পরিচালনা করার জন্য ব্যবহৃত হয়।
* `mysite/`: প্রকল্পের কনফিগারেশন ধারণকারী পাইথন প্যাকেজ।
* `__init__.py`: একটি খালি ফাইল, যা পাইথনকে বলে যে এই ডিরেক্টরিটিকে একটি পাইথন প্যাকেজ হিসাবে গণ্য করা উচিত।
* `settings.py`: প্রকল্পের কনফিগারেশন ফাইল, যেমন ডাটাবেস সেটিংস, ডিবাগ মোড ইত্যাদি।
* `urls.py`: URL রাউটিং কনফিগারেশন, URL-কে ভিউ ফাংশনে ম্যাপ করে।
* `asgi.py`: ASGI (Asynchronous Server Gateway Interface) কনফিগারেশন ফাইল, অ্যাসিঙ্ক্রোনাস অ্যাপ্লিকেশন স্থাপন করার জন্য ব্যবহৃত হয়।
* `wsgi.py`: WSGI (Web Server Gateway Interface) কনফিগারেশন ফাইল, ঐতিহ্যবাহী সিঙ্ক্রোনাস অ্যাপ্লিকেশন স্থাপন করার জন্য ব্যবহৃত হয়।
৩. ডেভেলপমেন্ট সার্ভার শুরু করা
Django একটি হালকা ডেভেলপমেন্ট সার্ভার নিয়ে আসে, যা আপনাকে লোকালি ডেভেলপ ও টেস্ট করতে সুবিধা দেয়।
-
mysiteডিরেক্টরিতে, নিচের কমান্ডটি চালান:python manage.py runserver -
আপনার ব্রাউজার খুলুন এবং
http://127.0.0.1:8000/এ যান। আপনি "It worked! Congratulations on your first Django-powered page." পেজটি দেখতে পাবেন।
৪. Django অ্যাপ তৈরি করা
একটি Django প্রোজেক্টে একাধিক অ্যাপ থাকতে পারে। আসুন myapp নামের একটি অ্যাপ তৈরি করি।
-
একটি নতুন টার্মিনাল উইন্ডো খুলুন (ডেভেলপমেন্ট সার্ভার চালু রাখুন)।
-
mysiteডিরেক্টরিতে, নিচের কমান্ডটি চালান:python manage.py startapp myappএটি
mysiteডিরেক্টরিতেmyappনামের একটি ডিরেক্টরি তৈরি করবে, যেখানে Django অ্যাপের কাঠামো ফাইলগুলো থাকবে। -
Django অ্যাপ ডিরেক্টরির গঠন নিচে দেওয়া হল:
myapp/ __init__.py admin.py apps.py migrations/ __init__.py models.py tests.py views.py__init__.py: একটি খালি ফাইল, যা Python কে বলে যে এই ডিরেক্টরিটিকে একটি Python প্যাকেজ হিসেবে গণ্য করতে হবে।admin.py: Django অ্যাডমিন ব্যাকএন্ড কনফিগার করার জন্য ব্যবহৃত হয়।apps.py: অ্যাপ কনফিগারেশন।migrations/: ডাটাবেস মাইগ্রেশন পরিচালনা করার জন্য ব্যবহৃত হয়।models.py: ডেটা মডেল (ডাটাবেস টেবিল) সংজ্ঞায়িত করে।tests.py: টেস্ট কেস লেখার জন্য।views.py: ভিউ ফাংশন সংজ্ঞায়িত করে, যা রিকোয়েস্ট প্রসেস করে এবং রেসপন্স রিটার্ন করে।
-
mysite/settings.pyএ,myappকেINSTALLED_APPSলিস্টে যোগ করুন:INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'myapp', # myapp যোগ করুন ]
৫. একটি সাধারণ ভিউ তৈরি করা
এখন আমরা একটি সাধারণ ভিউ তৈরি করব, যা ব্রাউজারে "Hello, Django!" দেখাবে।
-
myapp/views.pyফাইলটি সম্পাদনা করুন এবং নিচের কোড যোগ করুন:from django.http import HttpResponse def index(request): return HttpResponse("Hello, Django!") -
একটি
myapp/urls.pyফাইল তৈরি করুন এবং URL গুলোকে ভিউ ফাংশনে ম্যাপ করুন:
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
]
```
3. `myapp/urls.py`-কে `mysite/urls.py`-এর মধ্যে অন্তর্ভুক্ত করুন:
```python
from django.urls import include, path
from django.contrib import admin
urlpatterns = [
path('admin/', admin.site.urls),
path('myapp/', include('myapp.urls')), # myapp-এর URL কনফিগারেশন যোগ করুন
]
```
4. `http://127.0.0.1:8000/myapp/` ভিজিট করুন। আপনার "Hello, Django!" পেজটি দেখতে পাওয়ার কথা।
## 6. একটি মডেল তৈরি করা
আসুন কিছু ডেটা সংরক্ষণের জন্য একটি সাধারণ মডেল তৈরি করি।
1. `myapp/models.py` ফাইলটি সম্পাদনা করুন, নিম্নলিখিত কোড যোগ করুন:
```python
from django.db import models
class Question(models.Model):
question_text = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published')
def __str__(self):
return self.question_text
```
এটি `Question` নামের একটি মডেল তৈরি করে, যার মধ্যে দুটি ক্ষেত্র রয়েছে: `question_text` (CharField) এবং `pub_date` (DateTimeField)।
2. ডাটাবেস মাইগ্রেশন তৈরি এবং প্রয়োগ করুন:
```bash
python manage.py makemigrations myapp
python manage.py migrate
```
`makemigrations` কমান্ডটি আপনার মডেলের উপর ভিত্তি করে মাইগ্রেশন ফাইল তৈরি করবে, এবং `migrate` কমান্ডটি ডাটাবেসে মাইগ্রেশন প্রয়োগ করবে।
## 7. Django অ্যাডমিন প্যানেল ব্যবহার করা
Django একটি শক্তিশালী অ্যাডমিন প্যানেল সরবরাহ করে, যা আপনার ডেটা সহজে পরিচালনা করতে পারে।
1. একজন সুপার ইউজার তৈরি করুন:
```bash
python manage.py createsuperuser
```
প্রদর্শিত নির্দেশাবলী অনুসরণ করে ইউজারনেম, ইমেল এবং পাসওয়ার্ড লিখুন।
2. `myapp/admin.py` ফাইলটি সম্পাদনা করুন, `Question` মডেলটি রেজিস্টার করুন:
```python
from django.contrib import admin
from .models import Question
admin.site.register(Question)
```
3. `http://127.0.0.1:8000/admin/` ভিজিট করুন, আপনার তৈরি করা সুপার ইউজার ব্যবহার করে লগইন করুন। আপনার "Questions" মডিউলটি দেখতে পাওয়ার কথা, যেখানে আপনি প্রশ্ন যোগ, সম্পাদনা এবং মুছে ফেলতে পারবেন।
## 8. টেমপ্লেট ব্যবহার করা
টেমপ্লেট ব্যবহার করে আরও সহজে HTML পেজ তৈরি করা যায়।1. `myapp` ডিরেক্টরিতে `templates` নামের একটি ডিরেক্টরি তৈরি করুন, এবং `templates` ডিরেক্টরির মধ্যে `myapp` নামের একটি ডিরেক্টরি তৈরি করুন (`myapp/templates/myapp`)।
2. `myapp/templates/myapp` ডিরেক্টরির মধ্যে `index.html` নামের একটি ফাইল তৈরি করুন এবং নিম্নলিখিত কোড যোগ করুন:
```html
Hello, Django!
The current time is: {{ current_time }}
```
3. `myapp/views.py` ফাইলটি সম্পাদনা করুন এবং টেমপ্লেট ব্যবহার করুন:
```python
from django.shortcuts import render
import datetime
def index(request):
now = datetime.datetime.now()
return render(request, 'myapp/index.html', {'current_time': now})
```
`render` ফাংশন টেমপ্লেট লোড করবে এবং ডেটা টেমপ্লেটে রেন্ডার করার জন্য পাস করবে।
4. আবার `http://127.0.0.1:8000/myapp/` এ যান। আপনার বর্তমান সময় সহ একটি পৃষ্ঠা দেখতে পারা উচিত।
## 9. উপসংহার
এই গাইডের মাধ্যমে, আপনি Django-এর মৌলিক ধারণা এবং ব্যবহারের পদ্ধতি সম্পর্কে জানতে পেরেছেন, যার মধ্যে রয়েছে পরিবেশ তৈরি, প্রোজেক্ট এবং অ্যাপ্লিকেশন তৈরি, মডেল সংজ্ঞায়িত করা, ভিউ তৈরি করা এবং টেমপ্লেট ব্যবহার করা। এটি কেবল শুরু, Django প্রচুর বৈশিষ্ট্য সরবরাহ করে, আপনি আরও জটিল ওয়েব অ্যাপ্লিকেশন তৈরি করতে শেখা এবং অন্বেষণ চালিয়ে যেতে পারেন।





