brunch

매거진 개발일지

You can make anything
by writing

C.S.Lewis

by yurikim Nov 24. 2022

웹개발종합반 개발일지 4주차

빨간 글씨의 저주

1. 수강목적 : 코알못탈출 웹디자인에 필요한 기본지식 습득

2. 배운점 : 


localhost:5000을 배움

파이썬 코드는 그냥 복붙인데 이것만 하면 다 된다이거에요~ 근데 안됨 ㅎㅎ



Address already in use
Port 5000 is in use by another program. Either identify and stop that program, or start the server with a different port.
On macOS, try disabling the 'AirPlay Receiver' service from System Preferences -> Sharing.

강의에선 쑥쑥 넘어가는데 나는 빨간글씨의 저주에 걸림... 일단 안된다는뜻~ 5000못쓴다는뜻~



if __name__ == '__main__':
    app.run('0.0.0.0', port=5000, debug=True)

냅다 여기서 5000을 다른걸로 바꿔서 쓰도록 하자.



5002로 바꾸고 실행을 하면 이렇게 느낌표가 찍힌게 뭔가 됐다는 뜻같음
그러함 ㅎㅎ.... 이제 숙제해야함....




내용 몽고디비로 올리기.

@app.route("/homework", methods=["POST"])
def homework_post():
    name_receive = request.form['name_give']
    comment_receive = request.form['comment_give']
    doc = {
        'name': name_receive,
        'comment': comment_receive,
    }
    db.homework.insert_one(doc)

    return jsonify({'msg1':'팬명록이 작성되었습니다'})
function save_comment() {

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

    $.ajax({
        type: 'POST',
        url: '/homework',
        data: {name_give:name, comment_give:comment},
        success: function (response) {
            alert(response['msg1'])
            window.location.reload()
        }
    })
}

save_comment는 두가지가 정의되는데 id값 name, comment이다. 그걸 각각 name_give랑 comment_give로 만들어서 이름표를 달아서 몽고디비에 올린다. 근데 왜 몇번씩 정의를 다시하는건지 모르겠움....




몽고디비에 올라가있는걸 가져오기.

@app.route("/homework", methods=["GET"])
def homework_get():
    homework_list = list(db.homework.find({}, {'_id': False}))
    return jsonify({'homework':homework_list})
function show_comment() {
    $.ajax({
        type: "GET",
        url: "/homework",
        data: {},
        success: function (response) {
            let rows = response['homework']
            for (let i = 0; i < rows.length; i++) {
                let name = rows[i]['name']
                let comment = rows[i]['comment']

                let temp_html = `<div class="card">
                                        <div class="card-body">
                                            <blockquote class="blockquote mb-0">
                                                <p>${comment}</p>
                                                <footer class="blockquote-footer">${name}</footer>
                                            </blockquote>
                                        </div>
                                    </div>`

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

몽고디비에 있는  homework를 가져와서 homework의 렝스만큼 1씩 늘려가면서 목록을 만들고 html에 그 결과값을 입힘.



분명 했던거 복습인데 왜이렇게 어렵냐.... 점점모르겠네....ㅠㅠ 게다가 간만에 했더니 다까먹음....



3. 보완할점

연습많이하기


4. 앞으로의 계획

완강



매거진의 이전글 웹개발종합반 개발일지 1주차
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari