Request 관련 메소드 비교
5456 단어 Today I learnedToday I learned
Request 관련 메소드 비교
request.get과 request.GET.get
request.get과 request.GET.get의 차이점
request.get
은 Python의 문법
request.GET
은 Djang의 문법이라는 이미지
request.get
- request라는 이름의 객체에 대해 get 메소드를 실행하는 것
- 이때의 request 객체는 사전형의 데이터
- get 메소드를 사용할 수 있는 것은 사전형 객체 뿐
request = {'cat':10, 'dog':17}
request.get('cat')
>>>10
- Django에 Function Based View를 정의할 때의 인수로써 설정하는 'request'는 사전형 데이터가 아님
def test(request):
print(request.get(''))
return HttpResponse('')
# AttributeError: 'WSGIRequest' object has no attribute 'get'
request.GET
request.GET
은 Django에서 사용 가능
- request는 HTTP 리퀘스트가 보내졌을 때에 Django가 만든 객체
request.GET
을 실행하는 것으로 request의 정보를 사전형의 데이터로 얻을 수 있게 됨
request.GET
하는 것으로 get메소드를 사용하여 데이터를 취득하는 것이 가능
# http://localhost:8000/test/?a=100
def test(request):
print(request.GET['a'])
return HttpResponse('')
>>> 100
# request.GET형의 사전형이 아닌 파라미터를 참고한 경우
def test(request):
print(request.GET['somekey'])
return HttpResponse('')
# django.utils.datastructures.MultiValueDictKeyError: 'somekey'
- Django에는 request의 내용을 얻어낼 때는
request.GET.get
을 사용하는 것이 일반적
- get 메소드는 대상이 되는 데이터가 없는 경우에 None이 리턴되기 때문
def test(request):
print(request.GET.get('somekey'))
return HttpResponse('')
>>> None
마무리
- request.get()은 Python 메소드이며 대상은 사전형 데이터
- Django의 request는 사전형이 아님
- request를 사전형으로 바꿀 수 있는 것이 request.GET
- 에러가 발생하지 않기 때문에 request.GET.get을 사용하는 것이 일반적
Author And Source
이 문제에 관하여(Request 관련 메소드 비교), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://velog.io/@hwaya2828/Request-관련-메소드-비교
저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
request.get
은 Python의 문법request.GET
은 Djang의 문법이라는 이미지- get 메소드를 사용할 수 있는 것은 사전형 객체 뿐
request = {'cat':10, 'dog':17}
request.get('cat')
>>>10
def test(request):
print(request.get(''))
return HttpResponse('')
# AttributeError: 'WSGIRequest' object has no attribute 'get'
request.GET
은 Django에서 사용 가능request.GET
을 실행하는 것으로 request의 정보를 사전형의 데이터로 얻을 수 있게 됨request.GET
하는 것으로 get메소드를 사용하여 데이터를 취득하는 것이 가능
# http://localhost:8000/test/?a=100
def test(request):
print(request.GET['a'])
return HttpResponse('')
>>> 100
# request.GET형의 사전형이 아닌 파라미터를 참고한 경우
def test(request):
print(request.GET['somekey'])
return HttpResponse('')
# django.utils.datastructures.MultiValueDictKeyError: 'somekey'
request.GET.get
을 사용하는 것이 일반적def test(request):
print(request.GET.get('somekey'))
return HttpResponse('')
>>> None
Author And Source
이 문제에 관하여(Request 관련 메소드 비교), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@hwaya2828/Request-관련-메소드-비교저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)