জ্যাঙ্গো চিটশিট
জ্যাঙ্গো (Django) হলো একটি উচ্চ-স্তরের পাইথন ওয়েব ফ্রেমওয়ার্ক যা দ্রুত ওয়েব অ্যাপ্লিকেশন ডেভেলপমেন্ট এবং পরিচ্ছন্ন ডিজাইনের জন্য ব্যবহৃত হয়। এই চিটশিটে জ্যাঙ্গোর সব মৌলিক থেকে উন্নত ধারণা বিস্তারিতভাবে কভার করা হয়েছে।
১. জ্যাঙ্গো শুরু করা
১.১ পরিবেশ সেটআপ
- প্রয়োজনীয়তা: Python 3.x।
- ইনস্টলেশন:
- প্রজেক্ট তৈরি:
- অ্যাপ তৈরি:
১.২ প্রজেক্ট চালানো
- ব্রাউজারে:
http://127.0.0.1:8000
২. জ্যাঙ্গোর মৌলিক ধারণা
২.১ প্রজেক্ট স্ট্রাকচার
settings.py
: প্রজেক্ট কনফিগারেশন।urls.py
: URL রাউটিং।models.py
: ডাটাবেস মডেল।views.py
: রিকোয়েস্ট হ্যান্ডলিং।
২.২ অ্যাপ যোগ করা
settings.py
-তে:
৩. মডেল এবং ডাটাবেস
৩.১ মডেল তৈরি
myapp/models.py
:
- ফিল্ড টাইপ:
CharField
,IntegerField
,TextField
,BooleanField
,DateTimeField
, ইত্যাদি। - অপশন:
max_length
,unique
,null
,blank
।
৩.২ মাইগ্রেশন
৩.৩ ডাটা যোগ/পড়া (Django Shell)
৪. ভিউ (Views)
৪.১ ফাংশন-ভিত্তিক ভিউ
myapp/views.py
:
৪.২ ক্লাস-ভিত্তিক ভিউ
৫. URL রাউটিং
myproject/urls.py
:
- অ্যাপ-স্পেসিফিক URL:
myapp/urls.py
:
myproject/urls.py
:
৬. টেমপ্লেট
৬.১ টেমপ্লেট সেটআপ
settings.py
:
৬.২ টেমপ্লেট তৈরি
templates/index.html
:
৬.৩ ভিউ থেকে রেন্ডার
৬.৪ টেমপ্লেট সিনট্যাক্স
সিনট্যাক্স | বর্ণনা | উদাহরণ |
---|---|---|
{{ var }} | ভেরিয়েবল প্রদর্শন। | {{ name }} |
{% if %} | শর্ত। | {% if age > 18 %}...{% endif %} |
{% for %} | লুপ। | {% for s in students %}...{% endfor %} |
{% block %} | ব্লক ওভাররাইড। | {% block content %}...{% endblock %} |
৭. ফর্ম
৭.১ ফর্ম তৈরি
myapp/forms.py
:
৭.২ ফর্ম হ্যান্ডলিং
myapp/views.py
:
templates/form.html
:
৮. অ্যাডমিন প্যানেল
৮.১ সেটআপ
myapp/admin.py
:
- কাস্টমাইজ:
৯. অথেনটিকেশন
৯.১ বিল্ট-ইন অথেনটিকেশন
myproject/urls.py
:
templates/login.html
:
৯.২ কাস্টম ইউজার
myapp/models.py
:
settings.py
:
১০. API (Django REST Framework)
- ইনস্টলেশন:
settings.py
:
১০.১ সিরিয়ালাইজার
myapp/serializers.py
:
১০.২ API ভিউ
myapp/views.py
:
myapp/urls.py
:
১১. মিডলওয়্যার এবং স্ট্যাটিক ফাইল
১১.১ মিডলওয়্যার
myapp/middleware.py
:
settings.py
:
১১.২ স্ট্যাটিক ফাইল
settings.py
:
templates/index.html
:
১২. উদাহরণ: একটি সম্পূর্ণ অ্যাপ
myapp/models.py
:
myapp/views.py
:
myapp/urls.py
:
templates/task_list.html
: