웹종 5주차 팬명록 숙제까지 하고 앞에 배웠던 별점 넣기를 응용해서 해보고 싶었는데,,

웬걸,, 코드는 맞다고 생각했는데 localhost:5000에 적용이 안되는거다..ㅜㅜㅜ

그래서 기술매니저님이랑 얘기하다가 시간이 다 되어 내일 다시 물어보기로 했는데 이대로 잠이 안 올 것 같아서 즉문즉답에 물어보기로 했다.. 가끔씩 애용하는데 좋다.. (진짜 답변 빠르셔서,,감동,,)

 

일단 첫 번째 질문은 port:5500이 왜 나온 건지 알 수 없고 구글링해도 못 찾아서 질문드렸다

답변

내가 이해를 잘 못하고 있던거였음,,;;;ㅎㅎㅎㅎ

이 문제는 해결해서 다음 질문은

코드를 댓글로 남긴 뒤,, 떨리는 마음으로 기다림,,

답변

app.py 오타난거 잡아주시고... ㅎ 맙소사,, 너무 하찮은 실수를,,
변환 코드가 있을 줄이야..눈물,,, 강의에서 배운것 같기도 하고 착각인가,, 찾아볼 땐 안보였는데ㅜ
test도 직접하셔서 알려주심 ㅜ.ㅜ
전체코드 알려주셔서 나도 적용하고 해봤다,,감동,,,ㅜㅜ

 

<!DOCTYPE html>


<html lang="en">




<head>


    <meta charset="UTF-8" />


    <meta http-equiv="X-UA-Compatible" content="IE=edge" />


    <meta name="viewport" content="width=device-width, initial-scale=1.0" />




    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous" />


    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>


    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js"
        integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM"
        crossorigin="anonymous"></script>




    <title>초미니홈피 - 팬명록</title>




    <meta property="og:title" content="아이유 팬명록" />


    <meta property="og:description" content="아티스트에게 응원 한마디" />


    <meta property="og:image"
        content="http://newsroom.etomato.com/userfiles/%EC%95%84%EC%9D%B4%EC%9C%A0_Blueming_%EB%B3%B4%EB%8F%84%EC%9E%90%EB%A3%8C%20%EC%82%AC%EC%A7%84(1).jpg" />




    <link href="https://fonts.googleapis.com/css2?family=Noto+Serif+KR:wght@200;300;400;500;600;700;900&display=swap"
        rel="stylesheet" />


    <style>
        * {


            font-family: "Noto Serif KR", serif;


        }




        .mypic {


            width: 100%;


            height: 300px;




            background-image: linear-gradient(0deg,


                    rgba(0, 0, 0, 0.5),


                    rgba(0, 0, 0, 0.5)),


                url("http://newsroom.etomato.com/userfiles/%EC%95%84%EC%9D%B4%EC%9C%A0_Blueming_%EB%B3%B4%EB%8F%84%EC%9E%90%EB%A3%8C%20%EC%82%AC%EC%A7%84(1).jpg");


            background-position: center 30%;


            background-size: cover;




            color: white;




            display: flex;


            flex-direction: column;


            align-items: center;


            justify-content: center;


        }




        .mypost {


            width: 95%;


            max-width: 500px;


            margin: 20px auto 20px auto;




            box-shadow: 0px 0px 3px 0px black;


            padding: 20px;


        }




        .mypost>button {


            margin-top: 15px;


        }




        .mycards {


            width: 95%;


            max-width: 500px;


            margin: auto;


        }




        .mycards>.card {


            margin-top: 10px;


            margin-bottom: 10px;


        }
    </style>


    <script>


        $(document).ready(function () {


            set_temp();


            show_comment();


        });


        function set_temp() {


            fetch("http://spartacodingclub.shop/sparta_api/weather/seoul").then((res) => res.json()).then((data) => {


                let temp = data['temp']


                $('#temp').text(temp)


            });


        }


        function save_comment() {


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


            let comment = $('#comment').val()


            let heart = $('#heart').val()




            let formData = new FormData();


            formData.append("name_give", name);


            formData.append("comment_give", comment);


            formData.append("comment_heart", heart);




            fetch('/guestbook', { method: "POST", body: formData, }).then((res) => res.json()).then((data) => {


                alert(data["msg"]);


                window.location.reload()


            });


        }


        function show_comment() {


            fetch('/guestbook').then((res) => res.json()).then((data) => {


                let rows = data['result']


                $('#comment-list').empty()


                rows.forEach((a) => {


                    let name = a['name']


                    let comment = a['comment']


                    let heart = a['heart']



                    // 하트 아이콘 출력
                    let heart_img = "";
                    switch (heart) {
                        case "1":
                            heart_img = "🧡"
                            break;
                        case "2":
                            heart_img = "💛"
                            break;
                        case "3":
                            heart_img = "💚"
                            break;
                        case "4":
                            heart_img = "💙"
                            break;
                        case "5":
                            heart_img = "💜"
                            break;
                    }




                    let temp_html = `<div class="card">


                                        <div class="card-body">


                                            <blockquote class="blockquote mb-0">


                                                <p>${comment}</p>


                                                <p>${heart_img}</p>


                                                <footer class="blockquote-footer">${name}</footer>


                                            </blockquote>


                                        </div>


                                    </div>`


                    $('#comment-list').append(temp_html)


                })


            })


        }


    </script>


</head>




<body>


    <div class="mypic">


        <h1>아이유 팬명록</h1>


        <p>현재기온: <span id="temp">36</span>도</p>


    </div>


    <div class="mypost">


        <div class="form-floating mb-3">


            <input type="text" class="form-control" id="name" placeholder="url" />


            <label for="floatingInput">닉네임</label>


        </div>


        <div class="input-group mb-3">


            <label class="input-group-text" for="inputGroupSelect01">하트</label>


            <select class="form-select" id="heart">


                <option selected>--선택하기--</option>


                <option value="1">🧡</option>


                <option value="2">💛</option>


                <option value="3">💚</option>


                <option value="4">💙</option>


                <option value="5">💜</option>


            </select>


        </div>


        <div class="form-floating">


            <textarea class="form-control" placeholder="Leave a comment here" id="comment"
                style="height: 100px"></textarea>


            <label for="floatingTextarea2">응원댓글</label>


        </div>


        <button onclick="save_comment()" type="button" class="btn btn-dark">


            댓글 남기기


        </button>


    </div>


    <div class="mycards" id="comment-list">


        <div class="card">


            <div class="card-body">


                <blockquote class="blockquote mb-0">


                    <p>새로운 앨범 너무 멋져요!</p>


                    <p>💜</p>


                    <footer class="blockquote-footer">호빵맨</footer>


                </blockquote>


            </div>


        </div>


        <div class="card">


            <div class="card-body">


                <blockquote class="blockquote mb-0">


                    <p>새로운 앨범 너무 멋져요!</p>


                    <p>💜</p>


                    <footer class="blockquote-footer">호빵맨</footer>


                </blockquote>


            </div>


        </div>


        <div class="card">


            <div class="card-body">


                <blockquote class="blockquote mb-0">


                    <p>새로운 앨범 너무 멋져요!</p>


                    <p>💜</p>


                    <footer class="blockquote-footer">호빵맨</footer>


                </blockquote>


            </div>


        </div>


    </div>


</body>


</html>

초심 잃으면 이거 보고 힘내야지,,ㅎㅎ

 

혼자서 3시간 정도 고민하다 해결이 안 돼서 물어봤는데 해결돼서 정말 좋다^-^

역시 선생님이 최고다..

AWS 배포한 거 수정하러 가야겠다~~~

 

+ Recent posts