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

আসসালামুয়ালাইকুম,
গত পর্বে localhost:8000/hi ইউআরএল এ ব্রাউজ করলে “hello, how are you?” লেখাটি দেখেছিলাম। এখন আমরা  response মেসেজটিকে বিভিন্নভাবে আপডেট করব।

banglaidj/banglaidj/views.py

def hello(request):
    name = "Harun"
    msg = "Hello {}, how are you?".format(name)
    return HttpResponse(msg)

এখন ম্যাসেজটি নাম সহ দেখাচ্ছে। কিন্তু এখনো নামটি স্ট্যাটিক আছে। আমরা চাই, নামটি url এর মাধ্যমে নিব। localhost:8000/hi/hasib দিলে আমাকে দেখাবে “hello hasib, how are you” ।

banglaidj/banglaidj/urls.py

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

এখানে url এ প্যারামিটার যুক্ত করা হয়েছে  <> দ্বারা, যা প্যারামিটার বোঝায়। hi/ এর পর যে কোন স্ট্রিং দিলে তা name ভ্যারিয়েবলের মধ্যে initialize হবে এবং hello ফাংশনে প্যারামিটারের মান ( value)  পাঠিয়ে দিবে। এখন আমরা hi/harun, hi/hasib, hi/abdullah, hi/abc এভাবে যে কোন url লিখতে পারব।

url যেহেতু অতিরিক্ত প্যারামিটারের ভ্যালু hello ফাংশনের কাছে পাঠিয়ে দিয়েছে, hello ফাংশনটিকে এখন ভ্যালুটি গ্রহন করতে হবে। def hello(request, name), এভাবে প্যারামিটারের মাধ্যমে ফাংশনের মধ্যে কোন ডাটা গ্রহন করা হয়।
মনে রাখতে হবে, ইউআরএল এবং ফাংশনের প্যারামিটার একই নামে হতে হবে।

banglaidj/banglaidj/views.py

def hello(request, name):
    msg = "Hello {}, how are you?".format(name)
    return HttpResponse(msg)

<name> সবসময় ইউআরএল এ স্ট্রিং ইনপুট নেবে, Integer ভ্যালু ইউআরএল এ ইনপুট নিতে চাইলে
<int: variable_name> দিতে হবে।

banglaidj/banglaidj/views.py

from django.http import HttpResponse

def hello(request, name):
    msg = "Hello {}, how are you?".format(name)
    return HttpResponse(msg)

def show_page(request, page_no):
    msg = "Page No: {}".format(page_no)
    return HttpResponse(msg)

banglaidj/banglaidj/urls.py

from django.contrib import admin
from django.urls import path
from .views import hello, show_page


urlpatterns = [
    path('admin/', admin.site.urls),
    path('hi/<name>', hello),
    path('page/<int:page_no>', show_page)
]

অনুশীলনী

banglaidj/banglaidj/views.py

# store demo users data
user = {
    'user_name':'harun',
    'password':'password123'
    }

def check_user(request, username, password):
    if user['user_name'] == username:
        if user['password'] == password:
            return HttpResponse("Logged in successfully")
        else:
            return HttpResponse("Incorrect password! Try again.")
    else:
        return HttpResponse("Invalid username")

banglaidj/banglaidj/urls.py

from django.contrib import admin
from django.urls import path
from .views import hello, show_page, check_user


urlpatterns = [
    path('admin/', admin.site.urls),
    path('hi/<name>', hello),
    path('page/<int:page_no>', show_page),
    path('user/<username>/<password>', check_user)
]

 

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

Leave a Reply

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