[Django]Custom Command Line
[Django]Custom Command Line
Django를 다루면 가장 익숙한 파일이 manage.py
일 것이다. manage.py
에는 runserver
, makemigrations
, migrate
등 다양한 명령어들이 있는데 이러한 Command를 자신 입맛에 맞춰 만들 수 있다.
Custom Command Line을 만들기 위해서는 다음과 같은 구조로 되어야한다.
practice
- practice
- __init__.py
- settings.py
- urls.py
- wsgi.py
- custom
- __init__.py
- management
- __init__.py
- commands
- __init__.py
- custom.py
- models.py
- views.py
- apps.py
- admin.py
custom 앱이 있다고 했을 경우에 settings.py
에 custom 앱을 등록해주고, management 디렉토리를 만든 다음, commands 디렉토리를 생성해 그 안에 python 파일 하나를 생성해 주면 된다. 조심해야할 것은 python 파일이 있다는 것을 나타내기 위해 ___init__.py
이 필요하다.
# custom.py
from django.core.management.base import BaseCommand
class Command(BaseCommand):
def handle(self, *args, **kwargs):
print('Hi')
이제 manage.py와 함께 custom 명령어를 쳐보자.
$ python manage.py custom
# Hi