개발일지./항해99

항해 0 주차 입학시험 TIL (22.11.09)

쭈(joo) 2022. 11. 11. 17:40

항해입학시험 [ 시간은 넉넉하게 오후 5시까지 ]

 

문제는 기본 지급 강의인 웹개발종합반의 숙제를 변형하기 

이미 만들어놨던 과제를 변형하기 [ 가격표기 / 계산 추가하기 ]

 

가격은 이미나와있고  평수데이터를 받는곳에 500원만 곱해서 출력하면될것같은데?

어렵지 않네 했었는데... 어느곳에 데이터를 받아온걸 곱해서 넣어줘야하는지

그림은 그려지는데 어떤 도구[명령어]를 써서 풀어낼지가 안떠올랐다  @_@

 

처음쓰려고 했던 코드는 

 

// 첫번째생각한방법

// let my = (parseInt($('#size').val()))*500

 

실패 .  계속된 실패 원래 목표이든 11시 제출은  훌쩍넘긴

시험 마감시간 1시간전  전날의 밤생의 영향으로  집중력도 몸도 너무안좋았다 ㅠ_ㅠ

계속 시간만 가다가  예전에 쓴 데일리 노트가 생각났다 !! 

 

split 이용하기 

let my =  500*size.split('평')[0]

 

let temp_html = `<tr>
                    <td>${name}</td>
                    <td>${address}</td>
                    <td>${size}</td>
                     <td>${my}</td>
                  </tr>`
$('#order-box').append(temp_html)

오후 4시  넘어서 제출   너무 아슬아슬했다 @_@

 

그래도 포기하지않고 구글링하고 다시 영상보면서 공부한 내자신한테 고마웠다 ㅠㅠ...

 

 

[도메인구현을위해]  프로그램외적으론 몽고디비와 회원가입/연동  도메인구매가있다

 

프로그램내에선 APP.PY 파이썬파일과 [몽고디비와 연결 기본셋팅을잡는다]

홈페이지에서 보여지는 이미지파일인 [ html파일이 필요하다/받아온 자료를 보여주는곳]

 

 

app.py

@app.route('/')
def home():
    return render_template('index.html')

@app.route("/mars", methods=["POST"])
def web_mars_post():
    name_receive = request.form['name_give']
    address_receive = request.form['address_give']
    size_receive = request.form['size_give']



    doc = {
        'name': name_receive,
        'address': address_receive,
        'size': size_receive,


    }

    db.mars.insert_one(doc)

    return jsonify({'msg': '주문 완료!'})

 

index.html

 <script>

        $(document).ready(function () {
            show_order();
        });

        function show_order() {

            $.ajax({
                type: 'GET',
                url: '/mars',
                data: {},
                success: function (response) {
                    let rows = response['orders']
                    for (let i = 0; i < rows.length; i++) {

                        let name = rows[i]['name']
                        let address = rows[i]['address']
                        let size = rows[i]['size']
                        let my =  500*size.split('평')[0]



                            //모두다 보여줌

                        let temp_html = `<tr>
                                            <td>${name}</td>
                                            <td>${address}</td>
                                            <td>${size}</td>
                                             <td>${my}</td>
                                          </tr>`


                       $('#order-box').append(temp_html)

                    }
                }

            });
        }



        function save_order() {


            let name = $('#name').val()
            let address = $('#address').val()
            let size = $('#size').val()




            // 첫번째생각한방법

            // let my = (parseInt($('#size').val()))*500

        // 저장용도



            $.ajax({
                type: 'POST',
                url: '/mars',
                data: { name_give:name, address_give:address, size_give:size},
                success: function (response) {
                    alert(response['msg'])
                    window.location.reload()
                }
            });
        }
    </script>
</head>
<body>
    <div class="mask"></div>
    <div class="order">
        <h1>화성에 땅 사놓기!</h1>
        <h3>가격: 평 당 500원</h3>
        <p>
            화성에 땅을 사둘 수 있다고?<br/>
            앞으로 백년 간 오지 않을 기회. 화성에서 즐기는 노후!
        </p>
        <div class="order-info">
            <div class="input-group mb-3">
                <span class="input-group-text">이름</span>
                <input id="name" type="text" class="form-control">

            </div>

            <div class="input-group mb-3">
                <span class="input-group-text">주소</span>
                <input id="address" type="text" class="form-control">

            </div>
            <div class="input-group mb-3">
                <label class="input-group-text" for="size">평수</label>
                <select class="form-select" id="size">
                  <option selected>-- 주문 평수 --</option>
                  <option value="10평">10평</option>
                  <option value="20평">20평</option>
                  <option value="30평">30평</option>
                  <option value="40평">40평</option>
                  <option value="50평">50평</option>


                </select>

              </div>

              <button onclick="save_order()" type="button" class="btn btn-warning mybtn">주문하기</button>
        </div>



                 <table class="table">

                     <thead>
                     <tr>

                     <th scope="col">이름</th>
                     <th scope="col">주소</th>
                     <th scope="col">평수</th>
                     <th scope="col">가격</th>

                     </tr>
                     </thead>

                     <tbody id="order-box">

 

 

 

구현완료 화면 :) 뿌듯해........고마워 내자신..5959

솔직히 눈물 날뻔했음  ㅠ_ㅠ

 

시험하루전에 프로그램 셋팅으로 하루 밤샘 

다시 1강부터 과제를 만들어서 저장해는작업....

험란하고 끔찍했다 ㅠㅠ

 

 

입학시험 제출완료 / 정상구현완료 / 도메인확인완료 

 

시험끝나고 제정신이 아닌 상태로 헤롱헤롱 거리며 @_@  

         35시간만에 잠에들었다 (딱 두시간이긴하지만?)

 

   시험후에는 동료들과 친목도모를 위한 

 

밍글데이도 참여했다 [온라인 반 운동회/대학교OT 같은 느낌!]

 

우승상품도 준비해주시고 항해99같이할 동료들과 친해지라고

              밍글데이 라는  프로그램 만든   항해99 서윗해...

 

시험 끄트머리에  제출했기때문에  밍글데이도 2시간자고 참여 @_@

 

정신없게  이틀이 지나갔다