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. 앞으로의 계획

완강



브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari