জ্যাঙ্গো দিয়ে কীভাবে ডায়নামিক রাউটিং ব্যবহার করবেন

জ্যাঙ্গো দিয়ে কীভাবে ডায়নামিক রাউটিং ব্যবহার করবেন
আপনার মত পাঠকরা MUO সমর্থন করতে সাহায্য করে। আপনি যখন আমাদের সাইটে লিঙ্ক ব্যবহার করে একটি ক্রয় করেন, আমরা একটি অনুমোদিত কমিশন উপার্জন করতে পারি।

গতিশীল রাউটিং ছাড়া, ওয়েব পেজ নেভিগেট করা কঠিন হবে। আপনি ব্রাউজারে যান প্রতিটি পৃষ্ঠার সম্পূর্ণ পথ টাইপ করতে হবে। কি ভয়ানক ব্যবহারকারীর অভিজ্ঞতা।





ডায়নামিক ইউনিফর্ম রিসোর্স লোকেটার (ইউআরএল), আপনাকে একটি বোতামে ক্লিক করে একটি অ্যাপের বিভিন্ন পৃষ্ঠায় নেভিগেট করার অনুমতি দেয়। জ্যাঙ্গো ডায়নামিক ইউআরএল ডিজাইন করা সহজ করে তোলে। এটিতে একটি URL কনফিগারেশন মডিউল (URLconf) রয়েছে যা ভিউগুলির সাথে URL এক্সপ্রেশনগুলিকে সংযুক্ত করে।





দিনের মেকইউজের ভিডিও

URLconf-এর সমস্ত কোড পাইথন সিনট্যাক্সে রয়েছে, যা গতিশীল URL তৈরি করা সহজ করে তোলে। চলুন একটি জ্যাঙ্গো প্রজেক্ট তৈরি করে ডায়নামিক ইউআরএল সম্পর্কে আরও শিখি।





1. একটি জ্যাঙ্গো প্রকল্প তৈরি করুন

প্রথম, একটি জ্যাঙ্গো প্রকল্প তৈরি করুন এবং অ্যাপ্লিকেশন (অ্যাপ)।

আপনার অ্যাপের নাম দিন বোমা-ঘড়ি . অ্যাপটি বিভিন্ন আশেপাশের এলাকা থেকে অবস্থান, বিবরণ এবং বাসিন্দার সংখ্যা সংগ্রহ করবে। নামে একটি মডেল তৈরি করুন নেবারহুড . একটি ডাটাবেসে আশেপাশের সম্পর্কে তথ্য যোগ করতে মডেলটি ব্যবহার করুন। কিভাবে শিখতে হবে জ্যাঙ্গোতে মডেল তৈরি করুন এবং ডাটাবেস যদি আপনি অপরিচিত হন।



উইন্ডোজ স্টপ কোড system_service_exception

পরবর্তী, প্রতিবেশীদের জন্য একটি ভিউ ফাংশন তৈরি করুন।

2. একটি ভিউ ফাংশন তৈরি করুন

জ্যাঙ্গোতে, ভিউগুলি হল পাইথন ফাংশন যা HTTP অনুরোধগুলি গ্রহণ করে এবং প্রতিক্রিয়া প্রদান করে। জ্যাঙ্গো দ্বারা চালিত একটি ওয়েব পৃষ্ঠায়, ভিউ বিভিন্ন কাজ এবং মিশন সম্পাদন করে।





একটি ভিউ চালানোর জন্য, আপনাকে অবশ্যই এটিকে একটি URL এর মাধ্যমে কল করতে হবে। একটি URL হল ওয়েবে একটি সম্পদের একটি অনন্য পথ। সম্পদ একটি HTML পৃষ্ঠা, চিত্র, বা একটি API শেষ পয়েন্ট হতে পারে।

একটি URL তৈরি করুন যা পাস করা পরামিতিগুলির উপর ভিত্তি করে আশেপাশের ডেটা পুনরুদ্ধার করে৷ এটি করতে, আপনি ব্যবহার করতে পারেন প্রাথমিক কী (pk) বা শনাক্তকরণ (আইডি) তথ্য পুনরুদ্ধার করতে. এটি করার জন্য আপনি একটি টেমপ্লেট ব্যবহার করবেন।





আপনি একটি ফাইলে তাদের সংজ্ঞায়িত করে ভিউ তৈরি করতে পারেন views.py অ্যাপের ফোল্ডারে। আমদানি করে শুরু করুন রেন্ডার ইউআরএলে ডেটা প্রদর্শনের জন্য জ্যাঙ্গো থেকে ফাংশন। এছাড়াও আমদানি করুন নেবারহুড থেকে মডেল models.py .

from django.shortcuts import render 
from .models import NeighbourHood

পরবর্তী, নামে একটি ভিউ ফাংশন তৈরি করুন বাড়ি যা হোম টেমপ্লেটে সমস্ত আশেপাশের এলাকা প্রদর্শন করে। দ্য NeighbourHood.objects.all() ফাংশন ডাটাবেস থেকে সমস্ত আশেপাশের জন্য ডেটা গ্রহণ করে।

def home(request): 
neighborhoods = NeighbourHood.objects.all()
return render (request, "home.html", {'neighborhoods':neighborhoods})

এছাড়াও, এর জন্য একটি ভিউ ফাংশন তৈরি করুন join_hood এটি একটি প্রতিবেশীর তথ্য প্রদর্শন করবে। দ্য NeighbourHood.objects.get(id=id) ফাংশন আইডি অনুযায়ী ডেটা অনুরোধ করে। তথ্য তারপর একটি টেমপ্লেট রেন্ডার করা হয়.

def join_hood(request, id): 
neighborhood = NeighbourHood.objects.get(id=id)
return render (request, 'join_hood.html', {'neighborhood':neighborhood})

পরবর্তীতে, যখন আপনি একটি আশেপাশে নেভিগেট করেন, আপনি তার প্রোফাইল তথ্য দেখতে সক্ষম হবেন৷

3. একটি ডায়নামিক URL তৈরি করুন৷

আপনি এখন আপনার তৈরি ভিউ ফাংশনের জন্য একটি গতিশীল URL তৈরি করতে পারেন।

কিভাবে অপারেটিং সিস্টেম ঠিক করবেন উইন্ডোজ ১০ পাওয়া যায়নি
from django.urls import path 
from . import views
from django.conf import settings
from django.conf.urls.static import static
from django.contrib.staticfiles.urls import staticfiles_urlpatterns

urlpatterns = [
path ('home', views.home, name='home'),
path ('join_hood/<str:id>/', views.join_hood, name='join_hood'),
]

if settings.DEBUG:
urlpatterns += static(settings.MEDIA_URL, document_root = settings.MEDIA_ROOT)

আমদানি পথ দৃশ্যের জন্য পাথ তৈরি করতে জ্যাঙ্গো ইউআরএল থেকে। তারপর থেকে ভিউ ফাংশন আমদানি করুন views.py .

দ্য join_hood ইউআরএল-এর কোণ বন্ধনীতে একটি স্থানধারক রয়েছে: . এটি ইউআরএলের সেই অংশটি ক্যাপচার করে এবং ভিউতে পাঠায়।

কোণ বন্ধনী সাধারণত একটি রূপান্তরকারী স্পেসিফিকেশন অন্তর্ভুক্ত. স্পেসিফিকেশন হয় একটি স্ট্রিং হতে পারে (str) বা পূর্ণসংখ্যা (int)। জ্যাঙ্গোও অফার করে slug, পথ , বা সর্বজনীন অনন্য শনাক্তকারী (uuid)। স্পেসিফিকেশন ভিউতে ইউআরএলে পাস করা ভেরিয়েবলের ধরন বা অক্ষরের সংখ্যা সীমিত করে।

URL গুলিকে একটি নাম দেওয়া টেমপ্লেটগুলিতে তাদের সনাক্ত করতে সাহায্য করবে৷

দ্য স্থির এবং স্ট্যাটিক ফাইল আমদানি ইউআরএল পাথগুলিতে স্ট্যাটিক ফাইল প্রদর্শন করে। অফিসিয়ালে ইউআরএল প্যারামিটারগুলি কীভাবে গঠন করবেন সে সম্পর্কে আরও জানুন জ্যাঙ্গো ডকুমেন্টেশন

4. একটি টেমপ্লেটে URL যোগ করুন

একবার আপনি URL-এ ভিউ ফাংশন যোগ করলে, ডেটা প্রদর্শনের জন্য একটি HTML টেমপ্লেট তৈরি করুন। আপনি টেমপ্লেট নাম join_hood.html .

{% extends "base.html" %} 

{% load static %}

{% block content %}
<div class="card mb-3" style="max-width:fit content;">
<div class="row g-0">
<div class="col-md-4">
<div class="col-md-8" >
<div class="card-body">
<h5 class="card-title"> Welcome!</h5>
<p class="card-text pt-4"> Name: {{neighbourhood.name}}</p>
<p class="card-text pt-4"> Location: {{neighbourhood.location}}</p>
<p class="card-text pt-4"> Description: {{neighbourhood.description}}</p>
<p class="card-text pt-4"> Health Tel:{{neighbourhood.health_tell}}</p>
<p class="card-text pt-4"> Police Number: {{neighbourhood.police_number}}</p>
<p class="card-text pt-4"> Residents : {{neighbourhood.Count}}</p>
</div>
</div>
</div>
</div>
</div>
{% endblock %}

তৈরি করুন join_hood আশেপাশের ডেটা প্রদর্শন করতে অ্যাপ ফোল্ডারে টেমপ্লেট। প্রথম, প্রসারিত base.html স্টাইল শীট (বুটস্ট্র্যাপ) সহ টেমপ্লেট যা আপনি টেমপ্লেট স্টাইল করতে ব্যবহার করবেন। তারপর, ভেরিয়েবলগুলি রেন্ডার করুন যা পৃষ্ঠায় তথ্য প্রদর্শন করবে।

পরবর্তী, একটি তৈরি করুন home.html টেমপ্লেট যেখানে আপনি সমস্ত প্রতিবেশী প্রদর্শন করবেন।

{% extends 'base.html' %} 

{% load static %}

{% block content %}
<div class="container" style="color:black;">
<img src="{{neighborhood.hood_logo.url}}" class="card-img-top" alt="{{user.neighborhood.name}}">

<div class="row">
{% for neighborhood in neighborhoods %}
<div class="col-md-4">
<div class="card mb-4" style="min-height:340px">
<img src="{{neighborhood.hood_logo.url}}" class="card-img-top" alt="{{user.hood.name}}">

<div class="card-body">
<h5 class="card-title">
{{neighborhood.name}}
({{neighborhood.location}})
<span class="ml-4">{{neighborhood.Count}} member{{neighborhood.members.count|pluralize}}</span>
</h5>

<p class="card-text">{{neighborhood.description}}</p>
<p class="card-text">{{neighborhood.member.Count}}</p>

<a href="{% url 'join_hood' neighborhood.id %}" class="btn btn-primary btn-sm">Join Hood</a>
</div>
</div>
</div>
</div>
</div>
{% endblock %}

হোম পেজে, আশেপাশের এলাকা সম্পর্কে আপনি যে সমস্ত তথ্য প্রদর্শন করতে চান তা রেন্ডার করুন। আপনি হোম পেজে একটি বোতাম এবং একটি অ্যাঙ্কর ট্যাগ যোগ করবেন। অ্যাঙ্কর ট্যাগের URL আছে নাম এবং প্রতিবেশী আইডি .

ক্লিক করা হলে, বোতামটি সেই আইডির আশেপাশে নেভিগেট করে। হোম টেমপ্লেটটি URL http://127.0.0.1:8000/home/. The picture below demonstrates this page এ প্রদর্শিত হয়:

কিভাবে পিএস 2 নিয়ামককে পিসিতে সংযুক্ত করবেন
  হোম পেজ সমস্ত আশেপাশের এলাকা প্রদর্শন করে

5. ডায়নামিক রাউটিং পরীক্ষা করুন

এখন, আপনি টেমপ্লেটে গতিশীল রাউটিং কাজ করে কিনা তা পরীক্ষা করতে পারেন। যখন আপনি ক্লিক করুন ফণা যোগদান বোতাম, এটিতে নেভিগেট করে join_hood টেমপ্লেট. দ্য join_hood টেমপ্লেট আপনার নির্বাচিত এলাকা সম্পর্কে প্রোফাইল তথ্য প্রদর্শন করে।

আপনি ব্রাউজার URL http://127.0.0.1:8000/join_hood/2/-তে প্রদর্শিত আশেপাশের আইডিও দেখতে পাবেন

এটি নীচে দেখানো হিসাবে প্রদর্শিত হবে:

  join_hood পৃষ্ঠা ব্রাউজারে আশেপাশের বিবরণ প্রদর্শন করে

অভিনন্দন! আপনি একটি গতিশীল URL তৈরি করেছেন।

কেন জ্যাঙ্গো ইউআরএল ব্যবহার করবেন?

ডাইনামিক ইউআরএল হল ওয়েব অ্যাপ্লিকেশনের একটি গুরুত্বপূর্ণ বৈশিষ্ট্য। জ্যাঙ্গো আপনার প্রয়োজন অনুযায়ী ইউআরএল ডিজাইন করা সহজ করে তোলে। এটি অন্যান্য ফ্রেমওয়ার্কের সাথে আপনি যুক্ত হতে পারে এমন সীমাবদ্ধতাগুলিকে সরিয়ে দেয়।

URLconf মডিউল জ্যাঙ্গো ইউআরএল তৈরিকে সমর্থন করে এমন সম্পদে পূর্ণ। এটি টেমপ্লেটগুলিতে স্ট্যাটিক ফাইলগুলি পরিবেশন করা সহজ করে এবং ত্রুটি পরিচালনার উন্নতি করে।

Django ব্যাকএন্ড অ্যাপ্লিকেশন অপ্টিমাইজ করার জন্য ডিজাইন করা অন্যান্য বৈশিষ্ট্য আছে. এটি অন্যান্য বৈশিষ্ট্যগুলির মধ্যে ব্যবহারকারীর প্রমাণীকরণ, বিষয়বস্তু প্রশাসন এবং সাইট ম্যাপ স্বয়ংক্রিয় করে।