Custom Routes এবং Named Routes

Routing এবং URL Mapping - চেরিপাই (CherryPy) - Web Development

287

CherryPy এ Custom Routes এবং Named Routes ব্যবহার করে আপনি ওয়েব অ্যাপ্লিকেশনে বিভিন্ন ধরনের কাস্টম রুট (URL পাথ) তৈরি করতে পারেন, যা আপনাকে আপনার অ্যাপ্লিকেশনকে আরও নমনীয় এবং শক্তিশালীভাবে কাস্টমাইজ করার সুযোগ দেয়। CherryPy এ রুট তৈরি করার জন্য ক্লাস ভিত্তিক রাউটিং এবং URL ম্যানিপুলেশন করতে হয়।


Custom Routes

Custom Routes বা কাস্টম রাউটিং হলো এমন একটি প্রযুক্তি যার মাধ্যমে আপনি ওয়েব অ্যাপ্লিকেশনের URL গুলিকে কাস্টমাইজ করতে পারেন। CherryPy তে কাস্টম রাউটিং সাধারণত ক্লাস এবং মেথডের মাধ্যমে তৈরি করা হয়, যেখানে মেথডগুলো নির্দিষ্ট পাথ বা URL এ ম্যাপ করা হয়।

উদাহরণ: Custom Routes তৈরি করা

import cherrypy

class MyApp:
    @cherrypy.expose
    def index(self):
        return "স্বাগতম CherryPy অ্যাপ্লিকেশনে!"

    @cherrypy.expose
    def about(self):
        return "এটি একটি অ্যাবাউট পেজ!"

    @cherrypy.expose
    def contact(self):
        return "এটি একটি কন্ট্যাক্ট পেজ!"

if __name__ == '__main__':
    cherrypy.quickstart(MyApp())

এখানে:

  • index মেথডটি / রুটের জন্য,
  • about মেথডটি /about রুটের জন্য,
  • contact মেথডটি /contact রুটের জন্য ম্যাপ করা হয়েছে।

URL Pattern Matching (Custom URL Patterns)

CherryPy তে আপনি URL প্যাটার্নও নির্ধারণ করতে পারেন। এটি আপনাকে dynamic URL পাথ তৈরি করতে সাহায্য করে, যেখানে URL এর অংশগুলো ভেরিয়েবল হিসেবে কাজ করতে পারে।

উদাহরণ: URL Pattern Matching

import cherrypy

class MyApp:
    @cherrypy.expose
    def index(self):
        return "স্বাগতম CherryPy অ্যাপ্লিকেশনে!"

    @cherrypy.expose
    def user(self, username):
        return f"স্বাগতম, {username}!"

if __name__ == '__main__':
    cherrypy.quickstart(MyApp())

এখানে:

  • user মেথডটি /user/<username> পাথের জন্য ম্যাপ করা হয়েছে।
  • উদাহরণস্বরূপ, আপনি http://127.0.0.1:8080/user/JohnDoe লিখে "স্বাগতম, JohnDoe!" দেখতে পারবেন।

Named Routes

Named Routes হলো এমন একটি রাউটিং ব্যবস্থা যেখানে নির্দিষ্ট রুটের জন্য একটি নাম দেওয়া হয়। এটি আপনাকে URL গুলি আরও সুনির্দিষ্টভাবে পরিচালনা করতে সহায়তা করে। CherryPy তে named routes তৈরি করার জন্য সাধারণত কোডের মধ্যে রাউটগুলোকে আলাদা আলাদা ভাবে ডিফাইন করা হয়।

উদাহরণ: Named Routes তৈরি করা

import cherrypy

class MyApp:
    @cherrypy.expose
    def index(self):
        return "স্বাগতম CherryPy অ্যাপ্লিকেশনে!"

    @cherrypy.expose
    def user(self, username):
        return f"স্বাগতম, {username}!"

    @cherrypy.expose
    def profile(self):
        return "এটি আপনার প্রোফাইল পেজ।"

if __name__ == '__main__':
    cherrypy.quickstart(MyApp())

এখানে:

  • index রুটটি / নামে পরিচিত,
  • user রুটটি /user/<username> নামে পরিচিত।

Named Routes এর সুবিধা:

  • নাম দেওয়া রুটের মাধ্যমে আপনি URL গুলি আরও পাঠযোগ্য এবং সুনির্দিষ্ট করতে পারবেন।
  • কোনো রুটের নাম পরিবর্তন করলে কোডে সেই রুটের ব্যবহার সহজে পরিবর্তন করা যায়।

URL Redirection (Route Redirects)

CherryPy তে আপনি কাস্টম রাউটকে অন্য রাউটে রিডিরেক্টও করতে পারেন। এর মাধ্যমে একটি পাথের জন্য অন্য পাথের URL পাঠানো হয়।

উদাহরণ: Route Redirect

import cherrypy

class MyApp:
    @cherrypy.expose
    def index(self):
        raise cherrypy.HTTPRedirect("/home")

    @cherrypy.expose
    def home(self):
        return "এটি হোম পেজ।"

if __name__ == '__main__':
    cherrypy.quickstart(MyApp())

এখানে, / রুট থেকে /home পাথে রিডিরেক্ট করা হচ্ছে।


Complex Routes and Parameters

আপনি চাইলেই আরো কমপ্লেক্স রাউট তৈরি করতে পারেন, যেখানে পাথের অংশ বিভিন্ন ভেরিয়েবল ধারণ করতে পারে। CherryPy তে প্যারামিটার এবং পাথ ভেরিয়েবলগুলো সহজেই ম্যানিপুলেট করা যায়।

উদাহরণ: Complex Routes

import cherrypy

class MyApp:
    @cherrypy.expose
    def index(self):
        return "স্বাগতম CherryPy অ্যাপ্লিকেশনে!"

    @cherrypy.expose
    def article(self, article_id, category):
        return f"এই আর্টিকেলটি {category} ক্যাটাগরির {article_id} আইডি এর জন্য।"

if __name__ == '__main__':
    cherrypy.quickstart(MyApp())

এখানে:

  • article মেথডটি /article/<article_id>/<category> পাথের জন্য কাজ করবে।
  • উদাহরণস্বরূপ, আপনি http://127.0.0.1:8080/article/123/tech URL দিয়ে "এই আর্টিকেলটি tech ক্যাটাগরির 123 আইডি এর জন্য।" দেখতে পারবেন।

CherryPy তে Custom Routes এবং Named Routes ব্যবহার করে আপনি বিভিন্ন কাস্টম রুট এবং পাথ পরিচালনা করতে পারেন। এটি অ্যাপ্লিকেশনের URL গুলি আরও সুনির্দিষ্ট এবং লজিক্যালভাবে সংগঠিত করার সুযোগ দেয়। আপনি কাস্টম URL প্যাটার্ন, প্যারামিটার এবং রিডিরেকশনও ব্যবহার করে অ্যাপ্লিকেশনকে আরও শক্তিশালী এবং নমনীয় করতে পারবেন।

Content added By
Promotion

Are you sure to start over?

Loading...