장고 커스텀 명령을 만드는 방법

4579 단어 commandPython3장고
커스텀 커맨드를 만드는 방법입니다.
다음 페이지를 참고했습니다.
How to Create Custom Django Management Commands

다음과 같이 사용자가 있는 상황에서 사용자 지정 명령으로 사용자 목록을 표시해 봅니다.


프로젝트 proj01
앱 홈
합니다.

1) 우선, 명령을 넣는 폴더를 준비합니다.
mkdir home/management
mkdir home/management/commands

2) 시간을 표시하는 명령을 작성해 봅니다.

home/management/commands/what_time_is_it.py
from django.core.management.base import BaseCommand
from django.utils import timezone

class Command(BaseCommand):
    help = 'Displays current time'

    def handle(self, *args, **kwargs):
        time = timezone.now().strftime('%X')
        self.stdout.write("It's now %s" % time)

실행합니다.
python manage.py what_time_is_it

실행 결과
$ python manage.py what_time_is_it
It's now 11:53:25

3) 사용자 목록 명령을 만듭니다.

home/management/commands/list_users.py
from django.core.management.base import BaseCommand
from django.contrib.auth.models import User

class Command(BaseCommand):
    def handle(self, *args, **kwargs):
        for user in User.objects.all():
            print(user.id,"\t", end="")
            print(user.username,"\t", end="")
            print(user.email)

실행합니다.
python manage.py list_users

실행 결과
$ python manage.py list_users
1   admin   [email protected]
2   test01  
3   test02  
4   test03

좋은 웹페이지 즐겨찾기