login/logout/sign up Installation장고로 로그인 기능을 구현하기 위해서는 djnago-rest-auth라는 패키지를 설치해 줘야 한다.pip install django-rest-auth 그 다음 installed_apps에 아래의 코드를 추가해 준다.INSTALLED_APPS = ( ..., 'rest_framework', 'rest_framework.authtoken', ..., 'rest_auth' ) 그 다음 urls.py에 아래의 코드를 추가해 준다. urlpatterns = [ ..., url(r'^rest-auth/', include('rest_auth.urls')) ] 여기서 jwt토큰 url을 삭제해 준 후 위 url을 추가해 주자. urlpatterns = [ #..
JWTJWT가 무엇인지 설명하기 전에 authentication(인증)이 어떻게 이루어지는 지 설명하겠다. request 안의 이 유저는 어디서 오는 걸까? (request.user) F12를 눌러보면, 사진에 보이는 세션으로 장고에게 내가 누구인지 나타내는데 이것을 삭제하면 익명유저가 되기 때문에 url에 접속을 하려해도 Attribute가 없다고 나타날 것이다. 이는 config > settings > base에서 authentication 백엔드를 살펴보면, 2개의 백엔드를 쓰는데AUTHENTICATION_BACKENDS = [ 'django.contrib.auth.backends.ModelBackend', 'allauth.account.auth_backends.AuthenticationBacken..
The Request Object in Django우리 function에서 진행하는 http request는 브라우저가 우리에게 보내는 http request와는 다르다. 브라우저나 아이폰이 보내는 http request는 정상적인 요정이다. 여기서 진행하는 http request는 많은 과정을 거쳐 우리의 view function에 도달하게 된다. 아래의 코드가 그 예시다.class ListAllImages(APIView): def get(self, request, format=None): all_images = models.Image.objects.all() serializer = serializers.imageSerializer(all_images, many=True) return Response(..
풀링 계층최대 풀링폴링은 세로, 가로 방향의 공간을 줄이는 연산입니다.위 그림은 스트라이드 2로 최대폴링하는 것입니다. 쵀대폴링은 최댓값을 구하는 연산을 말합니다. 즉, 2x2 최대 풀링은 그림과 같이 2x2 크기의 영역에서 가장 큰 원소를 하나 꺼냅니다. 참고로, 풀링의 윈도우 크기와 스트라이드는 같은 값으로 설정하는 것이 보통입니다. 풀링 계층의 특징학습해야 할 매개변수가 없다풀링 계층은 합성곱 계층과 달리 학습해야 할 매개변수가 없습니다. 풀링은 대상 영역에서 최댓값이나 평균을 취하는 명확한 처리이기 때문입니다. 채널 수가 변하지 않는다풀링 연산은 입력 데이터의 채널 수 그대로 출력 데이터를 내보냅니다. 채널마다 독립적으로 계산하기 때문입니다. 입력의 변화에 영향을 적게 받는다(강건하다)입력 데이터..
Hidden Model Fields in Djangoforeign key의 뜻은 참고하고 있는 모델의 ID이다. 아래와 같은 모델의 경우에는 ID가 1이다. 그리고 ID 1의 소유자가 이미지 생성자인 것이다. class Image(TimeStampedModel): """ Image Model """ file = models.ImageField() location = models.CharField(max_length=140) caption = models.TextField() creator = models.ForeignKey(user_models.User, on_delete=models.PROTECT, null=True,) def __str__(self): return '{} - {}'.format(sel..
Creating the URLS and Testing the images serializersurl을 만들기 전에 시리얼라이즈에 대해 좀 더 설명해야 될 부분이 있다. DB에 있는 모든 이미지들을 시리얼라이즈 하려면, 이를 내가 이 오브젝트를 위해 생성한 시리얼라이저로 시리얼라이즈 해야한다. 만약 내가 이를 다른 댓글 시리얼라이저로 시리얼라이즈 하면, 에러가 발생한다.왜냐하면 다른 오브젝트를 위해 생성된 시리얼라이저이기 때문이다. URLurl은 regular expression, View, name이렇게 총3가지로 구성되어 있다. Regular expression정규식 표현은 우리가 텍스트를 매칭하고, 텍스트의 패턴을 만들 수 있는 방법이다. 예를 들어 보면 아래와 같다. regex=r'^~redirec..
Customizing the Django AdminString Representation위의 그림과 같이 화면에 출력이 되면 이미지가 누가 올리고 어떤 내용의 이미지인지 알 수 없다. 그래서 String representation을 사용해 간략하게 내용을 표시할려 한다. class Image(TimeStampedModel): """ Image Model """ file = models.ImageField() location = models.CharField(max_length=140) caption = models.TextField() creator = models.ForeignKey(user_models.User, on_delete=models.PROTECT, null=True,) def __str__..
Propsprops는 메인 컴포넌트에서 서브컴포넌트에 정보를 줄 때 사용한다.import React, { Component } from 'react';import './App.css';import Movie from './Movie'; const movies=[ { title : "Iron Man", poster : "http://pds21.egloos.com/pds/201805/15/21/f0041321_5afaeddcd6541.jpg" }, { title : "Iron Man", poster : "http://image.cine21.com/resize/cine21/poster/2015/1124/18_18_34__56542b6a6febf[X230,330].jpg" }, { title : "spider ..