FrameWork/Django23 Test API를 만들고 잘 되는지 확인하기 위해 브라우저에 들어가서 하나씩 확인하는 과정을 거쳤다.점점 api가 많아질수록 힘들어진다.이를 위해 django는 api를 만든 후 test해볼 수 있는 기능을 제공한다.(python manage.py test) 각 application마다 tests.py 파일이 있다. 여기에 테스트할 내용을 클래스로 명시하면 된다.기본적으로 django.test import TestCase가 임포트 되어있다.하지만 rest_framework.test의 APITestCase를 상속받아 테스트 한다. 테스트를 위해 클래스를 만들고 그 안에 매서드를 만들어 테스트할 사항을 세부적으로 명시한다.이때 매서드이름에는 "test_"가 앞에 꼭 들어가야 한다. 그래야만 테스트가 가능하다. [*.. 2024. 7. 26. Authentication Authentication은 인증받는 것을 의미한다.Django는 세션 베이스로 로그인을 하게되면 세션과 쿠키를 생성한다.그리고 user가 django페이지에 접속하면 자동으로 쿠키를 읽는다. 자동으로 해주지만 커스텀 하기 위해 여러 방법을 알아본다. [** django Authentication **]장고에서 사용하는 default Authentication은 다음과 같다.Authentication은 무조건 views.py들 보다 먼저 실행된다.#---------- config/settings.py#AuthenticationREST_FRAMEWORK = { 'DEFAULT_AUTHENTICATION_CLASSES': [ 'rest_framework.authentication.Sess.. 2024. 7. 25. Permission Classes Rest API 설계시 대표적으로 CRUD를 언급한다.그래서 사용하는 request method는 4개이다. (GET, POST, PUT, DELETE) 어떤 홈페이지를 만들려고 한다면 GET은 조회하는 매서드이므로 꼭 로그인(인증)된 사람만 데이터를 볼 수 있지는 않다.하지만 POST(생성), PUT(수정), DELETE(삭제)는 인증된 사람만 가능해야 한다. 이것을 구현하기 위해 django에서는 조건문과 request.user.is_authenticated와 PermissionDenied를 이용해 인증된 사람만 수행 가능하도록 할 수 있다. 하지만 매번 이렇게 하는 것은 충분히 귀찮으므로 permission_classes라는 것을 통해 조건문으로 구현하던 것을 대체한다. [** Permissio.. 2024. 7. 22. File Upload django 공식문서에서는 File Upload를 위해 다음과 같이 세팅하라고 안내한다.MEDIA_ROOT 설정MEDIA_URL 설정url 등록하지만 이것은 보안에 문제가 있으므로 개발중에만 이렇게 진행하라고 안내한다. Settings | Django documentationThe web framework for perfectionists with deadlines.docs.djangoproject.com [** File Upload**]MEDIA_ROOT: 개발 서버 상에서 실제로 이미지가 저장되는 폴더MEDIA_URL: URL상에서 이미지의 경로결국, 127.0.0.1:8000/MEDIA_URL/이 되어 웹상에서 파일을 볼 수 있음#---------- config/settings.py#MediaME.. 2024. 7. 21. 이전 1 2 3 4 ··· 6 다음