본문 바로가기

Coding/Python113

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.
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.