Django

⌘K
  1. Home
  2. Django
  3. Django তে কিভাবে কাজ করতে...
  4. Django Custom Management ...
  5. ০ ২. কমান্ড আর্গুমেন্ট গ্রহণ করা

০ ২. কমান্ড আর্গুমেন্ট গ্রহণ করা

আমরা আরেকটি কমান্ড তৈরী করার জন্য app ফোল্ডারে management/commands ফোল্ডারে আরেকটি পাইথন ফাইল তৈরী করি।

greet_user.py

একটি খালি কমান্ড বানাই

from django.core.management.base import BaseCommand

class Command(BaseCommand):
    help = 'Greet the user with a personalized message'
    
    def handle(self, *args, **options):
        pass

user থেকে আর্গুমেন্ট নেয়ার জন্য নিচের মেথডটি যোগ করতে হবে

    def add_arguments(self, parser):
        parser.add_argument('name', type=str, help='The name of the user')

প্রথমটি আর্গুমেন্ট এর নাম যেটা আমরা handle মেথডে ধরবো পরবর্তীতে কাজ করার জন্য এবং দ্বিতীয়টি user থেকে পাওয়া ইনপুট এর টাইপ

এবার handle মেথডে আর্গুমেন্ট টি ধরি

    def handle(self, *args, **options):
        user_name  = options['name']

এর পরের লাইনে আমরা বিভিন্ন কাজ করবো তারপর শেষে একটি সাকসেস মেসেজ রিটার্ন করতে হয় এজন্য নিচের লাইন handle মেথডের শেষে লিখবো

        self.stdout.write(self.style.SUCCESS(f'Hello, {user_name}!'))

সম্পূর্ণ কোড

from django.core.management.base import BaseCommand

class Command(BaseCommand):
    help = 'Greet the user with a personalized message'
    
    def add_arguments(self, parser):
        parser.add_argument('name', type=str, help='The name of the user')    
        
    def handle(self, *args, **options):
        user_name = options['name']
        self.stdout.write(self.style.SUCCESS(f'Hello, {user_name}!'))

এবার কমান্ডটি রান করি

python manage.py greet_user John

How can we help?