মডিউল ১.৪ : জ্যাংগো প্রজেক্ট স্ট্রাকচার

আজকে আমরা জ্যাংগো প্রজেক্ট এর ফাইল গুলা সম্পর্কে ডিটেলস এ জানবো

Project vs App

আজকে আমরা django এর প্রজেক্ট স্ট্রাকচার সম্পর্কে জানবো। একটা প্রজেক্ট হচ্ছে একটা সিস্টেম যার মধ্যে ছোটো ছোটো বিভিন্ন পার্ট বা ফিচার আছে। যেমন ধরো একটা স্কুল ম্যানেজমেন্ট সফটওয়্যার আছে সেখানে এই টোটাল সিস্টেম কে আমরা বলি প্রজেক্ট আর এই সিস্টেম এর মধ্যে স্টুডেন্ট, টিচার, কোর্স, ফিস, রেজাল্ট এর মত ছোটো ছোটো বিভিন্ন ফিচার আছে যেগুলো কে আমরা বলি app। তার মানে বুঝলাম যে অনেক গুলা ছোটো ছোটো অ্যাপ মিলেই একটা প্রজেক্ট তৈরী হয় আর বুঝতেই পারতেছ একটা বড়ো প্রজেক্ট কে এভাবে ছোটো ছোটো পার্ট এ ভাগ করলে সেটা manage করাও অনেক ইজি হয় ।

Django তে একটা প্রজেক্ট আর app create করার জন্যে নিচের কমান্ড ইউজ করি আমরা

Command
Explanation
django-admin startproject school_management

school_management নামে একটা প্রজেক্ট তৈরী করলাম

cd school_management

আমরা cd দিয়ে প্রজেক্ট এর মধ্যে গেলাম।

django-admin startapp result

অবশ্যই প্রজেক্ট ফোল্ডার এর মধ্যেই আমাদেরকে app তৈরী করতে হবে । এই কমান্ড দিয়ে আমরা result নামে একটা app তৈরী করলাম

প্রজেক্ট ফোল্ডার স্ট্রাকচার :

Project আর App এর মধ্যে আলাদা টাইপ কিছু ফাইল থাকে। আমরা আস্তে ধীরে সেগুলার ডিটেইলস জানবো। এখন আপাতত দেখার চেষ্টা করবো কি কি ফাইল থাকে আমাদের প্রজেক্ট আর অ্যাপ এর মধ্যে আর তাদের সম্পর্কে হালকা করে জানবো।

Project Folder Structure :

File Name
Description

manage.py:

manage.py : প্রজেক্ট বা app তৈরী করা বা প্রজেক্ট কে রান করতে এর হেল্প নিতে হয়

first_project:

__init__.py: পাইথন এর কোনো ফোল্ডার এ এই ফাইল টি থাকলে পাইথন সেটাকে একটা প্যাকেজ হিসেবে চিন্তা করে

wsgi.py :WSGI (Web Server Gateway Interface) is a specification that describes how a web server communicates with web applications, এটা বোঝায় যে কিভাবে ওয়েব এপ্লিকেশন আর সার্ভার এর মধ্যে কমিউনিকেশন হবে, synchronous স্টাইল ফলো করে

asgi.py : Asynchronous Server Gateway Interface. ASGI provides standard for both

asynchronous and synchronous

settings.py : একটা প্রজেক্ট এর প্রাণ বলা হয় তাকে কারণ একটা প্রজেক্ট এর সমস্ত কিছু সে হোল্ড করে যেমন : Database Config information, Template, Installed Application, Validators etc.

urls.py : একটা ওয়েব প্রজেক্ট এর যত গুলা ইউআরএল থাকে সেগুলার কাজ এখানে করা হয়

App Structure :

File Name
Explanation

migrations

ডাটাবেস এ যত ফাইল আমরা তৈরী করবো, চেঞ্জ বা আপডেট করবো তার হিস্ট্রি ট্র্যাক করে রাখে

__init__.py

পাইথন এর কোনো ফোল্ডার এ এই ফাইল টি থাকলে পাইথন সেটাকে একটা প্যাকেজ হিসেবে চিন্তা করে

admin.py

অ্যাডমিন প্যানেল এ কোনো একটা App কে রেজিস্টার করতে হেল্প করে

apps.py

app এর কনফিগারেশন এর ডাটা স্টোর করে রাখে

models.py

ডাটাবেস এ কোনো টেবিল তৈরী করতে হেল্প করে

tests.py

App এর টেস্টিং এর কোড লিখতে হেল্প করে

views.py

রিকোয়েস্ট এর রেস্পেক্ট এ রেসপন্স দিতে হেল্প করে

Last updated