django 파라미터 구분

BackEnd_Ash.log·2020년 3월 20일
1

httpi 로 terminal 창에서 서버와 통신을 할때 ,
url 파라미터로 전달하는것과 query 파라미터로 전달하는 방식이 있다 .

query parameter


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 처리를 해줘야한다.

2. url parameter

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

post

http -v post http:localhost:8000/user username= 'jakdu' nickname='jak'
profile
꾸준함이란 ... ?

0개의 댓글