왕초보 웹개발반 4주차 숙제 개발일지

hee·2021년 7월 24일
0
post-thumbnail

크롤링 감성이해도 못한 왕초보는 4주차 숙제를 받고 엉엉 울고만 있는데요.....

이번 숙제 목표:
1. 주문하기(POST): 정보 입력 후 '주문하기' 버튼클릭 시 주문목록에 추가
2. 주문내역보기(GET): 페이지 로딩 후 하단 주문 목록이 자동으로 보이기

이렇게 밑에 주문 목록이 추가되어야한다... 할 수 있을까?


숙제시작

첫번째로 할 일 > app파일 만들고 클라이언트(html)과 연결하기
두번째로 할 일 > 둘이 핑퐁하면서 기능을 하도록 하기
세번째로 할 일 > 데이터베이스가 잘 쌓이는지 확인하기


이거하다가 진짜 폴더 다 날라갈뻔 봤다....
어찌저찌 숙제하던 폴더에서 app와 클라이언트 연결...했을지도?

그로부터 30분후... 못했다는걸 깨달았다^^ 왜냐하면 새로고침해도 get<이 표시가 안나왔기 때문에...
왜 안됐는지도 모르겠어서 그냥... 뼈대 html 긁어와서 다시 처음부터 시작하기로 했다 눈물이났다


post먼저 기능하라고 했으니 app파일을 만져보기로 했다.

@app.route('/order', methods=['POST'])
def save_order():
    name_receive = request.form['name_give']
    count_receive = request.form['count_give']
    address_receive = request.form['address_give']
    phone_receive = request.form['phone_give']

    doc = {
        'name': name_receive,
        'count': count_receive,
        'address': address_receive,
        'phone': phone_receive
    }
    db.orders.insert_one(doc)

    return jsonify({'msg': 'Thank you for purchase!'})

일단 답지와, 저번에 했던 북리뷰 app를 참고해서 이렇게 짜고 그다음엔 html을 만져주었다.

function order() {
            // 주문하기 API 연결
            let name = $('#order-name').val();
            let count = $('#order-count').val();
            let address = $('#order-address').val();
            let phone = $('#order-phone').val();

            $.ajax({
                type: "POST",
                url: "/order",
                data: {name_give: name, count_give: count, address_give: address, phone_give: phone},
                success: function (response) { // 성공하면
                    alert(response["msg"]);
                    window.location.reload();
                }
            })
        }

헤헤 북리뷰 html 복붙해서 data부분만 app와 연동될수 있게 바꿔주었다.

팝업창도, 데이터 베이스도 잘 쌓였다...

하다가 html에서 let name = $('#order-name').val();
이부분 선언안해주고 내용입력해서 이거 왜안되지??하고 있었다... 이 부분 유념해야겠다.


그다음은 get을 만져주라고 하셨으니...만져보기로

# 주문 목록보기(Read) API
@app.route('/order', methods=['GET'])
def view_orders():
    orders = list(db.orders.find({}, {'_id': False}))

    return jsonify({'result': 'success', 'orders': orders})

app파일 도저히 모르겠어서 그냥 답지 베꼈다...
이 부분은 복습이 필요할것 같다


4주차는 답지랑 틀을 통해서 완성해서 뭔가 찝찝....
어떤걸 요구하는지는 대애충 알것같은데 구체적으로는 잘 모르겠다는 느낌?? 데이터베이스 너무 어렵다.... 어쨌든 숙제 다했다

나중에 복습하던가 해야겠다....

profile
얼레벌레 개자이너 도전

0개의 댓글

관련 채용 정보