TIL/Python | Django22 2021.8.9 TIL : [Django] DRF 4 - View Sets & routers DRF에서는 하나의 클래스에 관련한 뷰들의 집합을 합칠 수 있도록 해준다. 이것을 View Set이라고 부른다. 다른 프레임워크에서는 비슷한 개념을 'Resources'나 'Controllers'라고 부른다. (MVC의 C) 뷰 셋은 단순하게 보면 클래스 기반의 뷰 중에 하나인데 .get()이나 .post() 대신 .list()나 .create()같은 메서드 핸들러를 사용한다. View Set의 메서드 핸들러는 .as_view() 메서드를 사용하여 뷰를 종료하는 시점에 해당 작업에만 동작한다. 보통은 urls.py의 viewset에 일일이 view를 등록하기 보다는, 라우터 클래스로 view set을 등록하고 이 라우터가 자동으로 url을 결정해준다. 1. View Set 먼저 일반적인 viewset을 .. 2021. 8. 9. 2021.8.7 TIL : [Django] DRF 3 - authentication 사용자가 로그인하고 서버에 요청을 할 때 로그인해서 권한이 있는지 확인하는 데 authentication이 필요하다. BasicAuthentication 우리가 지난 글에서 작성했던 내용들은 HTTP basic authentication으로 클라이언트에게 아이디와 비밀번호만을 요청한다. 장고 rest framework 공식 문서를 확인하면 이 basic auth는 테스트 목적으로만 사용하는 것이 적절하다. 만약 이 auth 방법을 실제 프로덕트에서 사용하고 싶다면 https 를 통해서만 가능하게 하고 매번 아이디와 비밀번호를 물어보게 해야 한다. SessionAuthentication 장고의 기본 authentication 세션 백엔드를 사용한다. 이는 웹사이트와 동일한 세션 컨텍스트에서 실행되는 AJA.. 2021. 8. 7. 2021.8.6 TIL : [Django] DRF 2 - 클래스기반 api / 제네릭 클래스 기반(Generic Class-based) api 함수기반 views와 비슷하게 api를 작성한 지난 글에 이어서 클래스 기반 view를 통해 api를 만들어서 보낼 수 있다. 초기 설정이나 model, serializer 등은 지난 글에서 작성했던 것 그대로 이용하면 된다. 이 글에서 달라지는 것은 view랑 url 정도이다. 지난 번에도 말했듯이 view를 작성하는 방법에는 함수로 작성하는 방법과 클래스로 작성해서 내부 메서드로 함수를 작성하는 방법이 있다. 지난 번 내용과 동일한 동작을 수행하는 클래스를 작성해보면 다음과 같다. ... from rest_framework.views import APIView # Create your views here. class ArticleAPIView(APIView): def get(self, request).. 2021. 8. 6. 2021.8.5 TIL : [Django] DRF(Django Rest Framework) 1 - 함수기반 api REST API에 대한 기본 설명 : [Django] REST API & Rest framework 클라이언트는 url 주소를 통해서 서버에 request를 보내고, Django는 urls.py를 참고하여 해당 url에 매핑된 뷰를 찾아 실행한다. 이때 실행되는 뷰의 종류에는 클래스 기반 뷰(class-based view)와 함수 기반 뷰(function-based view)가 있다. Django의 REST framework를 사용할 때도 위의 이유로 두 가지 방법이 있다고 한다. 오늘 배운 내용은 함수 기반 api이다. 이후에 클래스 기반 api 내용도 작성해볼 예정이다. Django rest framework 공식 문서에 적힌 튜토리얼과 약간 다를 수 있다. 나는 유튜브의 강의를 참고했다. 강의가 영.. 2021. 8. 6. 2021.7.23 TIL : [Django] ORM의 select_related/prefetch_related, forms.py에서 지정한 form을 css로 디자인하기, 외부 DB 연동하기 며칠동안 하나의 주제를 깊이 파기 보다는 장고로 기본 블로그를 만들고 이것 저것 많이 시도해봤다. 아직 배울 것도 너무 많고 다 새로운 내용이라 깊이 있게 나가지 못했지만, 배운 내용을 정리 안 해두면 금방 까먹을 것 같아 여러 주제를 통합해 올리기로 했다. 주제는 다음과 같다. 1. ORM의 select_related와 prefetch_related 2. forms.py 를 만들어서 하나의 폼을 어디에나 쓸 수 있도록 간편하게 만들어 둔 것을 css로 디자인 수정하는 방법 (특히 django에서 기본적으로 주는 툴인 UserCreationForm을 바꾸는 방법) 3. Mysql이나 mariadb 같은 외부 DB와 연동하는 법 1. ORM의 select_related와 prefetch_related 개인.. 2021. 7. 23. 2021.7.16 TIL : [Python] 기초 문법8 - 클래스 상속 다른 클래스의 속성을 이어받아서 새로운 클래스를 만들 수도 있다. 이를 클래스 상속이라고 한다. 예를 들어, 만약 유저 클래스에 이름, 비밀번호, 이메일의 속성이 있다고 할 때, 대학생유저라는 클래스를 만들고 이름, 비밀번호, 이메일, 학교, 전공 속성을 주고 싶다면 클래스 상속을 이용해서 쉽게 할 수 있다. 즉 유저 클래스에서 속성들을 상속받아 새로운 클래스를 만드는 것이다. 기본적으로 사용되는 syntax는 다음과 같다. class 부모클래스: 코드 class 자식클래스(부모클래스): 코드 부모클래스는 슈퍼클래스라고도 부르며, 자식클래스는 서브클래스라고도 한다. 구체적으로 사용해보면 다음과 같다. class Person: def greeting(self): print('안녕하세요.') class St.. 2021. 7. 17. 이전 1 2 3 4 다음