Why? standalone script를 실행하고자 하는 경우, DB에 어떤 내용을 넣고 싶은 경우, 기타 등등 작업이 필요한 경우 custom command를 만들어 사용하면 유용. How? 해당 app 디렉토리에 app/management/commands/command_name.py 형식으로 파이썬 파일 생성. 파일 이름이 command 이름이 됨. from django.core.management.base import BaseCommand, CommandError class Command(BaseCommand): help = 'Help message' def add_arguments(self, parser): # CLI 창에서 받을 argument 정의 parser.add_argumnet('arg..
ViewSet 클래스는 read 또는 update 같은 opertaions만 지원하고 get 또는 put 같은 메소드 핸들러를 지원하지 않는 점을 제외하고는 View와 거의 똑같다. ViewSet 클래스는 일반적으로 ViewSet이 view들의 세트 안으로 instantiated되지는 마지막 단계, 즉 Router 클래스가 복잡하게 정의된 URL 설정을 핸들링하기위해 사용되어지는 순간 메소드 핸들러의 세트를 bound 한다. from rest_framework import viewsets class UserViewSet(viewsets.ReadOnlyModelViewSet): """ This viewset automatically provides `list` and `detail` actions. """..
Creating an endpoint for the root of our API # views.py from rest_framework.decorators import api_view from rest_framework.response import Response from rest_framework.reverse import reverse @api_view(['GET']) def api_root(request, format=None): return Response({ 'users': reverse('user-list', request=request, format=format), 'snippets': reverse('snippet-list', request=request, format=format) }) ..