request는 요청 그자체가 아니라, 들어온 http 요청을 이용하기 쉽도록 django가 잘 다듬어 만들어 준 객체이다.
requests는 파이썬 모듈로, HTTP 요청을 보낼 때 사용한다.
자세한 설명은 아래에서 이어가겠다.
dictionary.get(keyname, value)
.get()
은 django의 메소드가 아니라, python의 메소드이다.dictinoary.get(keyname)
인 경우, 인자로 주어진 keyname
을 가진 key가 존재하지 않으면 None을 반환한다.dictionary.get(keyname, value)
인 경우, keyname
을 가진 key가 존재하지 않을 때 value를 반환한다.그렇다면 request.get()
은 어떨까?
WSGI Request
로, 사전형이 아니다. 고로, 작동하지 않고 에러가 발생한다.print(request)
를 실행시, 출력 내용을 첨부한다.request.GET(keyname)
& request.POST(keyname)
.GET()
과 .POST()
는 django의 속성이다.GET
/ POST
메소드로 들어온 요청을 받는다.print(request.GET)
의 출력이다.keyname
을 가진 key가 존재하면 해당 key에 대한 값을 반환하고, 존재하지 않을 경우 KeyError
가 발생한다. request.GET.get(keyname)
or request.POST.get(keyname)
GET
/POST
를 이용하여 request를 Quertdict 형태로 변환한다.get
메소드를 사용하여 해당 key가 없을 경우 None
으로 반환 된다.requests.methodname(params)
requests
는 python의 모듈로, httpie나 Postman의 역할을 한다. 인자에 포함된 url로 methodname
에 해당하는 http 요청을 보내, 응답을 담아오는 역할을 한다.
예시로, 아래 코드를 보자.
user_kakao_info = requests.get("https://kapi.kakao.com/v2/user/me", headers=headers).json()
간단히 설명하자면, "https://kapi.kakao.com/v2/user/me"
url로 headers
를 헤더에 담아 get
요청을 보내고, 받은 응답을 json
타입으로 변환하여 user_kakao_info
변수에 저장한다는 것이다.