Django

⌘K
  1. Home
  2. Django
  3. Django তে কিভাবে কাজ করতে...
  4. Urls

Urls

Django URLs এর ভূমিকা

  • Django URLs কী এবং কেন প্রয়োজন তা জানা।
  • URL কনফিগারেশনের ভূমিকা বোঝা।

বেসিক URL কনফিগারেশন

  • urls.py ফাইল তৈরি এবং কনফিগার করা।
  • path() ফাংশন ব্যবহার করে URL তৈরি করা।
  • বিভিন্ন URL প্যাটার্ন তৈরি করা।

ফাংশন-বেসড ভিউয়ের সাথে URL যুক্ত করা

  • ফাংশন-বেসড ভিউ তৈরি এবং সেটাকে URL এর সাথে যুক্ত করা।
  • উদাহরণ: home, about, contact পেজের URL সেটআপ করা।

ক্লাস-বেসড ভিউয়ের সাথে URL যুক্ত করা

  • ক্লাস-বেসড ভিউ (CBV) তৈরি করা এবং URL এর সাথে যুক্ত করা।
  • Django এর as_view() মেথড ব্যবহার।

ডাইনামিক URL এবং URL প্যারামিটার ব্যবহার

  • URL এর মধ্যে ডাইনামিক প্যারামিটার যোগ করা, যেমন post/<int:id>/
  • ভিউ ফাংশনে কিভাবে প্যারামিটার পাঠানো হয় তা বোঝা।

নামকৃত URL ব্যবহার

  • URL নামকরণ করা এবং কীভাবে টেমপ্লেটে url ট্যাগের মাধ্যমে ব্যবহার করা যায়।
  • নামকৃত URL ব্যবহারের সুবিধা এবং লিংকিং আরও সহজ করা।

URL রিভার্সিং এবং রিভার্স ফাংশন

  • reverse() ফাংশন ব্যবহার এবং কীভাবে URL রিভার্স করা যায়।
  • Django এর reverse_lazy ফাংশন নিয়ে কাজ।

URL নামস্পেসিং

  • অ্যাপ-ভিত্তিক URL নামস্পেস তৈরি করা।
  • বড় প্রজেক্টে নামস্পেস ব্যবহার করে URL এর সংঘর্ষ এড়ানো।

ইনক্লুড ব্যবহার করে URL সংগঠিত করা

  • মেইন প্রজেক্ট urls.py ফাইল থেকে অ্যাপের urls.py ফাইলগুলোতে URL রুটিং বিভক্ত করা।
  • include() ফাংশন ব্যবহার এবং অ্যাপ ভিত্তিক URL কনফিগারেশন।

কাস্টম URL কনভার্টার তৈরি

  • Django এর কনভার্টার ব্যবহার এবং কাস্টম কনভার্টার তৈরি করা।
  • উদাহরণস্বরূপ, slug বা string-based কনভার্টার।

Django Redirect এবং রিডাইরেক্ট URL

  • redirect() ফাংশন ব্যবহার করে URL রিডাইরেক্ট করা।
  • কীভাবে এক URL থেকে অন্য URL এ ব্যবহারকারীকে রিডাইরেক্ট করবেন।

URL কনফিগারেশনের জন্য Regular Expressions ব্যবহার

  • re_path() ফাংশন ব্যবহার করে Regular Expressions এর মাধ্যমে URL প্যাটার্ন তৈরি করা।

API এবং RESTful URL কনফিগারেশন

  • Django REST framework (DRF) এর সাথে URL কনফিগার করা।
  • API এর জন্য URL এর রূপ এবং কনভেনশন শেখা।

এই টিউটোরিয়ালে আমরা দেখবো

django app এ কিভাবে একটি html টেম্পলেট কে ইউআরএল দ্বারা প্রদর্শন করানো হয়।

  • apps এ টেম্পলেট নামে একটি ফোল্ডার বানাই এবং তার মধ্যে home.html নামে একটি html টেম্পলেট বানাই।
  • এপপ্স ফোল্ডারে urls.py নামে আরেকটি ফাইল বানাই

myapp/templates ডিরেক্টরিতে HTML টেমপ্লেট তৈরি করুন যেমন home.html

<!DOCTYPE html>
<html>
<head>
    <title>Home Page</title>
</head>
<body>
    <h1>Welcome to myapp!</h1>
</body>
</html>

myapp ডিরেক্টরিতে views.py ফাইল তৈরি করুন এবং নিম্নলিখিত কোড সংরক্ষণ করুন:

from django.shortcuts import render

def home_view(request):
    return render(request, 'home.html')

myapp ডিরেক্টরিতে urls.py ফাইল তৈরি করুন

from django.urls import path
from .import views

urlpatterns = [
    path('',views.home_view, name='home'),
]

urls.py এ প্যারামিটার কিভাবে কাজ করে

urls.py এ আমরা একটি ইউআরএল বানাই

from django.urls import path
from . import views

urlpatterns = [
    path('product/<int:product_id>/', views.product_detail, name='product_detail'),
]

এই URL টি একটি সংখ্যা মান গ্রহণ করবে, যা আপনি product_id ভেরিয়েবল হিসাবে আপনার product_detail ভিউতে পাস করতে পারেন।Comment

Views Function: views.py

from django.shortcuts import render
from .models import Product

def product_detail(request, product_id):
    product = Product.objects.get(pk=product_id)
    return render(request, 'product_detail.html', {'product': product})

আমরা urls.py এ যে নামে প্যারামিটার দিয়েছি ঐনামে views ফাইলের মেথডে প্যারামিটার নিতে হবে। আমি urls.py এ product_id নামে নিয়েছিলাম তাই আমার ভিউস মেথডে ঐনামে প্যারামিটার নিয়েছি Comment

Product.objects.get দ্বারা Product মডেল থেকে প্রাইমারি কি এর উপর ভিত্তি করে ডেটা আনা হয়েছে আমরা চাইলে pk=product_id এর জায়গায় id =product_id দিতে পারিComment

Using Parameters in Templates:

<!DOCTYPE html>
<html>
<head>
    <title>Product Detail</title>
</head>
<body>
    <h1>Product Details</h1>
    <p>Name: {{ product.name }}</p>
    <p>Price: ${{ product.price }}</p>
    <!-- Other product details here -->
</body>
</html>

Generating URLs with Parameters:

<a href="{% url 'product_detail' product.id %}">View Product Details</a>

href= এর মধ্যে প্রথমে “{% url %} লিখবো url এর পর কোটেশনে route নাম লিখবো যা urls এর name = ” লিখেছিলাম এর পর প্যারামিটার এর মান দেব

How can we help?