본문 바로가기

Learn

스파르타 웹개발종합반 (화성에서 땅 사기)

화성에서 땅사기라는 프로젝트를 만들었는데, 잘 이해가 안되서 다시 복기하며 적어본다.

 

 

평당 500원이라고 했을 때,

@app.route("/mars", methods=["POST"])

def mars_post():

name_receive = request.form['name_give']

address_receive = request.form['address_give']

size_receive = request.form['size_give']

위의 size_receive라는 값에 500원을 곱해줘야한다.

하지만 여기서 size_receive값이 20"평"과 같이 숫자와 문자가 섞여져 있다.

그래서 이 값에서 숫자인 20만 추출해내야 한다.

그럴때는 슬라이싱을 사용하면 된다.

size_receive[0:2] 를 쓰면, 0번째부터 1번째까지의 텍스트가 추출된다. (2번째는 포함되지 않음)

그렇다면 int(size_receive[0:2])에다가 500을 곱해주면 가격을 구할 수 있다.

- 여기서 int 는 값의 타입을 정수타입으로 변환해주는 것.

** price_receive = int(size_receive[0:2])*500 이렇게 하면됨.


그러면 리스트의 순서를 매겨서, 주문을 완료하면 몇번째 주문완료라는 문구를 뜨게해보자.

orders_list = list(db.orders.find({}, {'_id': False}))

list_num = len(orders_list)

len() 은 문자열 내에 있는 문자들의 개수를 세어주는 함수이다.

이렇게 list의 개수를 세어놓은 것을 list_num 을 지정해주고

return jsonify ({'msg' : str(list_num) + '번째 주문완료'} ) 라고 설정해주면 된다.

여기서 str()을 사용해서 문자와 같이 출력될 수 있도록 해준다.