বাংলায় জ্যাঙ্গো

আসসালামুয়ালাইকুম,
গত পর্বে আমরা “localhost:8000”url এ একটি ড্যামো সাইট দেখেছিলাম। এখন থেকে আমরা নিজেরা নতুন নতুন url তৈরী করব যা ব্রাউজারে প্রবেশ করালে চমৎকার কিছু কাজ আমাদের সামনে হাজির করবে। তো, প্রথমে ছোট্ট একটি url তৈরী করা যাক…

লক্ষ

বাংলায় জ্যাঙ্গো টিউটোরিয়াল সিরিজে আজকের পর্বে আমাদের লক্ষ, “localhost:8000/hi” ইউআরএল তৈরী করা যা ব্রাউজারে প্রবেশ করালে “Hello, how are you?” লেখাটি দেখাবে।

Url তৈরীঃ

প্রজেক্ট ডিরেক্টরির মধ্যে একই নামে আরেকটি ডিরেক্টরী আছে যেখানে urls.py ফাইল আছে। প্রজেক্টের সকল Url এই ফাইলের মধ্যে লেখা হয়। এখনে urlpatterns নামে একটি লিষ্ট আছে যার মধ্যে সকল url এর প্যাটার্ন তৈরী করা হয়।

path() ফাংশনের প্রথম প্যারামিটারে url এর গঠন দেয়া হয়। অর্থাৎ, ইউআরএল এর চেহারা যদি হয় ‘localhost:8000/hi’ তাহলে path ফাংশন লেখা হবে, path(‘hi’), যদি চেহারা  হয়

localhost:8000/home’ তাহলে path ফাংশন লেখা হবে, path(‘home’)

ইউআরএল টি ব্রাউজারে প্রবেশ করালে যে কাজ সংঘটিত হবে, সার্ভার যে কাজ করবে, ব্রাউজার যা প্রদর্শণ করবে, সবকিছু একটি ফাংশনের মধ্যে লেখা হয়, যাকে জ্যাঙ্গো এর ভাষায় view ফাংশন বলে। path() ফাংশনের ২য় প্যারামিটারে ওই ফাংশনকে call করা হয়। যেমন, আমরা যদি hello ফাংশনের মধ্যে কাজগুলো করি তাহলে তাহলে path ফাংশন লেখা হবে, path(‘hi’, hello) অর্থাৎ, ব্রাউজারে ‘localhost:8000/hi’ প্রবেশ করালে hello ফাংশনটি কল হবে।

View ফাংশন তৈরীঃ

from django.contrib import admin
from django.urls import path
from django.http import HttpResponse

def hello(request):
    return HttpResponse("Hello, how are you?")

urlpatterns = [
    path('admin/', admin.site.urls),
    path('hi/', hello)
]

ব্রাউজার, সর্ভারের কাছে একটি request পাঠাবে, যাকে বলে HttpRequest Hello ফাংশনটি সেই request কে তার প্যারামিটারের মধ্যে দিয়ে গ্রহন করবে। এখন সার্ভার, ব্রাউজারের পাঠানো HttpRequest কে প্রসেস করে, একটি স্ট্রিং কে HttpResponse হিসেবে ব্রাউজারে পাঠাবে। HttpResponse একটি ফাংশন, যাকে ইম্পোর্ট করতে হবে django.http মডিউল থেকে।

এখন সার্ভার রান থাকা অবস্থায় ব্রাউজারে লিখুন ‘localhost:8000/hi’ এবং আপনার প্রত্যাশিত ফলাফল দেখে নিন।

আমরা সহজভাবে বোঝার জন্য view ফাংশন এবং url একই ফাইলে লিখেছি, কিন্তু এটা অনুচিত। ভিন্ন ধরণের কোড আলাদা আলাদা ফাইলে লেখা উত্তম।
তাই আমরা view ফাংশনটিকে( hello() ) views.py নামে ভিন্ন একটি ফাইলে নিখে ফেলি। যেখানে urls.py আছে, একই ডিরেক্টরিতে views.py নামে ফাইল তৈরী করি।

banglaidj/banglaidj/views.py

from django.http import HttpResponse

def hello(request):
    return HttpResponse("Hello, how are you?")

banglaidj/banglaidj/urls.py

from django.contrib import admin
from django.urls import path
from .views import hello  # import view function from views.py

urlpatterns = [
    path('admin/', admin.site.urls),
    path('hi/', hello)
]

<<আগের পোষ্ট                পরের পোষ্ট >>

Leave a Reply

Your email address will not be published. Required fields are marked *