본문 바로가기

Coding343

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.
Django Getting User Feed 정리 범위 : #1-39 Getting the User Feed ~ #1-45 Commenting on an Image 1.views.py에서 GET/POST/DELETE등의 메소드들을 오버라이드해서 사용할 때 인자의 형태는 다음과 같다. class Feed(APIView): def get(self, request, format=None):두번째 인자인 request가 바로 사용자의 요청에 관한 인자이다.request.user로 접근하면 접근한 사용자를 알아낼 수 있다. class Feed(APIView): def get(self, request, format=None): user = request.user following_users = user.following.all()따라서 위와 같이 작성한다면 fol.. 2018. 4. 22.
Django Restframework 정리 범위 : #1-29 Django Rest Framework Installation and Basic Concepts ~ #1-35 Hidden Model Fields in Django 1.serializers.py는 쉽게 말해서 중간에 있는 미들웨어 역할이라고 보면 된다.(JSON화 해준다고 생각하면 쉬울듯)serializers를 사용하려면 최상단에 다음과 같이 import 해줘야 한다. from rest_framework import serializers 또한 serialize할 모델도 불러와야 하므로 아래의 코드도 추가한다. from . import models 그리고 작성하는 형식은 다음과 같다.class ImageSerializer(serializers.ModelSerializer): class .. 2018. 4. 20.