파이썬
-
[Django] Python 중 "@@@ could not be resolved" 에러 해결 방법 _Mac파이썬/Django 2023. 3. 5. 17:17
파이썬을 쓰면서 예상치 못한 오류와 맞닥뜨렸다. 분명 사용할 모듈을 제대로 설치했는데 노란색 밑줄과 함께 [모듈명] could not be resolved 라는 경고문이 표시된 것이다. 에러 원인 이런 오류가 생기는 이유는 가상환경을 사용하면서 vscode가(혹은 본인이 사용하는 IDE가) 현재 사용하는 버전의 python 인터프리터 경로를 제대로 잡지 못하기 때문이다. 해결 방법 해결하기 위해서는 vscode에서 명령팔레트를 통해 파이썬 인터프리터를 설정해주면 된다. 1. 인터프리터 경로 입력하기 먼저 vscode 명령 팔레트에 들어간다. 명령 팔레트 단축키 cmd+shift+P Python: 인터프리터 선택 인터프리터 경로 입력 선택 위에서 알아낸 파이썬 인터프리터 경로를 입력한다. 본인의 경로를 모..
-
[Django] Swagger를 통한 API 문서 작성하기 with. Django파이썬/Django 2023. 1. 29. 19:41
Swagger란? API 문서 자동화해주는 툴 우리가 개발하면 개발하는 내용 그대로 모든 내용들이 자동으로 문서화가 되어 우리가 굳이 설명하거나 문서로 전달하지 않더라도 프론트엔드 개발자 혹은 다른 개발자들이 API 명세를 확인할 수 있는 것이다. API 명세 뿐 아니라, API에 대한 목업(Mock-up) 테스트도 지원을 하기 때문에, 프론트엔드와 연동을 하지 않을 상태에서도 Response를 확인해볼 수 있는 테스트를 진행해 볼 수 있다는것도 강점이다. 1. Swagger 관련 패키지 설치 방법으로는 두가지가 있는데, SwaggerHub라는 Swagger를 만든 곳의 Cloud를 이용해서 직접 관리하는 방법이 있고, 각자 회사의 서버에 직접 Swagger 모듈을 도입하여 적용하는 방법이 있는데, 나는..
-
[Django] API test | API 잘 작동하는지 테스트하기파이썬/Django 2023. 1. 23. 23:27
django에는 기본적으로 테스트케이스 라이브러리가 존재한다. from django.test import TestCase 하지만 drf에도 test case class가 있기 때문에 그것을 사용할 것이다. 단축기능이 많고 더 편리하다. AmenityDetail 클래스 test하기 📁 rooms/views.py class AmenityDetail(APIView): def get_object(self, pk): try: return Amenity.objects.get(pk=pk) except Amenity.DoesNotExist: raise NotFound def get(self, request, pk): amenity = self.get_object(pk) serializer = serializers.Am..
-
[Django] 인증 Authentication파이썬/Django 2023. 1. 23. 15:32
django 에서 사용자 인증하는 방법은 크게 네가지가 있다. "rest_framework.authentication.SessionAuthentication", # 현재 로그인 한 유저가 누구인지 알려주는 코드(쿠키랑 비밀번호를 이용하는 세선 인증) "config.authentication.TrustMeBroAuthentication", "rest_framework.authentication.TokenAuthentication", # 토큰을 이용해 user가 누군지 찾음 "config.authentication.JWTAuthentication", 1. BasicAuthentication - 권장하지 않음 header를 이용한 그냥 모달창임 2. Auth Token - TokenAuthentication ..
-
[Django] user api (get, put) 만들기파이썬/Django 2023. 1. 17. 16:35
api 만들기 [GET, PUT] /users/me : 사용자가 자신의 개인정보를 확인하고 수정할 수 있는 api 1. urls.py 파일에 url 연결하기 config path와 연결하기 from django.urls import path from . import views urlpatterns = [ path("me", views.Me.as_view()), ] 위처럼 users 폴더의 views 파일을 가져와서 path에 연결한다. views.py의 Me 라는 클래스를 연결해줌 2. views.py 파일 설정하기 from rest_framework.response import Response from rest_framework.views import APIView from rest_framework ..
-
[Django] Permission_classes 사용하여 인증하기 (feat.DRF)파이썬/Django 2023. 1. 16. 10:09
Permission_classes란 사용법 from rest_framework.permissions import IsAuthenticatedOrReadOnly class PhotoDetail(APIView): permission_classes = [IsAuthenticated] 원하는 클래스에 위의 코드를 작성해주면 끝이다. Authentication 인증의 종류 지원하는 인증의 종류는 총 4가지가 있습니다. SessionAuthentication 세션을 통한 인증 여부 체크 APIView를 통해 디폴트 지정 (우선순위 1) BasicAuthentication Basic 인증헤더를 통한 인증 수행 ex) Authorization: Basic YWxsaWV1czE6MTAyOXNoYWtl APIView를 통..
-
[Django] APIView로 api 만들기파이썬/Django 2023. 1. 13. 15:10
생성할 api [GET] [POST] /amenities [GET] [PUT] [DELETE] /amenities/1 amenities는 room 앱(App)안에 있는 모델(model)이기 때문에 room/views.py에 코드를 작성해준다. 코드작성이 필요한 파일은 총 세개 room/views.py room/urls.py room/serializers.py (생성해야함) api 구현할 클래스 생성하기 📁 room/views.py api/v1/amenities 를 구현할 클래스 Amenites(APIView) - 전체 어메니티 내역 확인 class Amenities(APIView): def get(self, request): pass def post(self, request): pass api/v1/am..
-
[Django] Model View Sets 사용하기파이썬/Django 2023. 1. 12. 16:44
📁 categories/serializers.py from rest_framework import serializers from .models import Category class CategorySerializer(serializers.ModelSerializer): class Meta: model = Category # fields = 어떤 필드를 보이게 할지 설정 # 모든 필드 보이게 하기 fields = "__all__" 카테고리라는 모델을 serializer 번역기에 객체를 설정해줌 자동으로 create update등의 메소드가 생성된다. 다만 보여줄 필드는 선택해야 함 제외시킬 필드를 고르기 class Meta: # 제외시킬 필드 고르기 exclude = ( "created_at", ) 보여줄..