본문 바로가기
Python/Django

[Django] Django에서 custom 명령어를 만들어 보자

by Lee David 2022. 8. 9.
반응형

Django에서 custom 명령어는 주로 Windows의 Scheduler 혹은 Unix 계열의 Crontab등을 돌릴때 사용 됩니다.

즉 이러한 명령어들은 외부 프로세스가 사용하게 하기 위한 명령어들을 말합니다.

간단하게 management/commands directory를 만들어주면 프로젝트 상위에 있는 manage.py가 custom command로 등록해주고 하위에 포함하는 .py 파일들을 실행이 가능합니다.

Directory 구조 살펴보기

프로젝트 하위에 해당 디렉토리와 .py 파일이 생성되어 있다면 실행이 가능합니다.

프로젝트/.../management/commands/test_01.py # 실행되는 .py 파일
프로젝트/.../management/commands/__init__.py # 현재 버전에서는 필수는 아닙니다.

BaseCommand 불러오기 및 코드 작성

from django.core.management import BaseCommand # 1

class Command(BaseCommand): # 2
    ...
    ...
    # py 파일을 실행할 때에 실행되는 메서드 입니다.
    def handle(self, *args, **options): #3
        print("Hello World")
  1. .py 파일에 BaseCommand 불러오기
  2. class를 생성할시에 BaseCommand를 인자값 등록
  3. handle 메서드 Override
반응형