httpi 로 terminal 창에서 서버와 통신을 할때 ,
url 파라미터로 전달하는것과 query 파라미터로 전달하는 방식이 있다 .
class AccountView(View):
def get(self , request):
name = request.GET.get('name' , None)
nick_name = request.GET.get('nick_name',None)
print('name : ' , name)
print('nick_name : ' , nick_name)
이렇게 했을경우 httpie 에서는 http -v http://localhost:8000/account name='jakdu' nick_name='jak'
으로 입력을 하게 된다면
print 로 jakdu 와 jak 이 찍히게 되고 ,
request 헤더 엔드포인트는
/account?name=jakdu&nick_name=jak
이 찍히게된다.
만약에 아무런 값을 입력하지 않았다면 None
이 찍히게 되고 ,
if 문 처리를 해준다거나 , 혹은 try except 처리를 해줘야한다.
url parameter 에선 우선적으로 urls.py 파일부터 수정을 해야한다.
urlpatterns =[
path('/account/<int:account_id> , AccountView.as_view())
]
urls 에서 account 뒤에 <int:account_id>
라는 것이
view 파일로 넘어가게 된다.
[view.py ]
class AccountView(View):
def get(self , request , account_id)
print('account_id' , account_id)
account_data = Account.objects.filter(id = account_id).values()
print 를 찍어보면 값이 넘어 왔다는것을 확인을 할 수 있고 ,
저 account_id 자체가 엔드포인트가 된다 .
http http://localhost:8000/account/1
http -v post http:localhost:8000/user username= 'jakdu' nickname='jak'