본문 바로가기

Coding345

Django JWT 토큰인증 정리 범위 : #1-70 Setting up JWT 보통 어플리케이션을 이용하여 인증을 진행할때는 세션을 사용하지 않는다.그보다 Token을 이용하여 진행하는게 더 편리하고 적합하기 때문이다.여러가지 방법이 있지만 JWT(Json Web Token)라는 편리한 방법이 있다.먼저 아래의 명령어를 통해 설치해준다. pipenv install djangorestframework-jwt위 명령어를 통해 설치를 진행하고 위처럼 설치가 진행된다.이제 JWT를 사용하겠다는 설정을 해줘야한다.settings.py를 열고 아래의 내용을 추가한다. REST_FRAMEWORK = { 'DEFAULT_PERMISSION_CLASSES': ( 'rest_framework.permissions.IsAuthenticated', ), '.. 2018. 5. 1.
Django Change Password 정리 장고에서 유저를 관리하다보면 패스워드를 변경해야하는 경우가 생긴다.이런 경우를 위해 장고에서는 check_password()와 new_password() 라는 함수를 제공한다.먼저 입력값 중 current_password와 new_password는 변수명을 통해 진행한다고 가정한다. user = request.user current_password = request.data.get('current_password', None) if current_password is not None: passwords_match = user.check_password(current_password) 먼저 current_password에 입력값 중 current_password라는 변수명의 값을 담는다.그리고 해당 값이 .. 2018. 4. 30.
Django Partial Update 정리 범위 : #1-65 Edit a Photo 장고에서는 정보를 업데이트할 때 부분적으로 업데이트 해줄 수 있다.예를 들어 models.py에 아래와 같은 3가지의 필드가 있다고 가정해본다. file = models.ImageField() location = models.CharField(max_length=140) caption = models.TextField()시리얼라이저는 아래와 같다. class InputImageSerializer(serializers.ModelSerializer): class Meta: model = models.Image fields = ( 'file', 'location', 'caption', )file, location, caption 3가지를 사용하고 있다.views.py.. 2018. 4. 30.
Django Taggit으로 해시태그 검색 정리 범위 : #1-55 Searching Images by Hashtag Part One ~ #1-56 Searching by Hashtag part Two 인터넷을 통해 웹서핑을 하다보면 해시태그를 자주 볼 수 있다.특히 인스타그램 등 SNS에서 자주 볼 수 있는데 형태는 #서울 #한강 이런 형태이다.Django에는 Taggit이라는 라이브러리가 있어서 이러한 일련의 작업을 편하게 해준다.공식문서는 https://django-taggit.readthedocs.io/en/latest/ 로 들어가면 된다.아래와 같은 형태로 태그를 생성, 삭제, 태그로 조회등의 작업을 할 수 있다. >>> apple = Food.objects.create(name="apple") >>> apple.tags.add("red", .. 2018. 4. 29.
React Redux 정리 리액트(React.js)는 컴포넌트 기반으로 구성되어있다.각 컴포넌트별로 지역변수/전역변수가 존재하지만 가끔씩 앱 전역으로 쓰이는 전역변수가 필요하다.예를 들면 로그인 유무를 검사하기 위해 isLogin이라는 변수를 사용한다고 가정해보자. isLogin이 true일 경우 정상적으로 로그인이 완료된 상태이기 때문에 회원만 접근이 가능한컴포넌트를 보여줄 것이다. 하지만 false일 경우는 비회원을 위한 컴포넌트만 접근이 가능해야한다.Redux를 알기전까지는 하위 컴포넌트들에게 props로 넘겨줬지만 이는 상당히 불편한 접근법이다.A -> B -> C 형태의 컴포넌트가 있다고 가정해보자.A가 가지고 있는 특정 state가 C에서도 필요하다면 A에서 B로, 다시 B에서 C로 전달해줘야 한다.하지만 중간에 있는 .. 2018. 4. 24.
Django delete(), add(), remove(), @property 정리 범위 : #1-46 Deleting my own comment ~ #1-52 Getting Followers List 1.댓글을 지우기 위해 댓글의 번호와 요청한 유저를 같이 인자로 넘겨준다. user = request.usercomment = models.Comment.objects.get(id=comment_id, creator=user)comment.delete()그리고 delete() 메소드를 통해 삭제해주면 된다. 2.최근 가입한 순서대로 유저의 목록을 보고싶다.그중에서도 5개만 짜르고 싶다면 다음과 같이 입력한다. last_five = models.User.objects.all().order_by('-date_joined')[:5]Django의 ORM때문에 직접 쿼리를 작성할 필요 없이 ord.. 2018. 4. 23.