커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 대기중
다시 질문합니다. EC2 서버에서 Atlas MongoDB 접속에 문제가 있습니다.
undefined주차
북마크
곽*훈
댓글
0
추천
0
조회수
2
조회수
2
답변 대기중


여러번 답을 주는 분이 MongoDB를 위해 인바운드 포트를 얘기주시는데 웹개발 종합반의 수업내용의 Atlas MongoDB는 EC2서버에서 동작하는 것이 분명아닙니다. 제말 맞죠?

수업내용중 Flask 를 활용하는 app.py에 들어가는 MongoDB 접근 위한 코드는 아시다시피 다음과 같습니다.


from pymongo import MongoClient
client = MongoClient('mongodb+srv://wgoose:<password>@cluster0.diha6mm.mongodb.net/?retryWrites=true&w=majority')
db = client.dbsparta

위의 내용과 EC2의 인바운드에 27017 포트를 등록하는 것과 무슨 관계가 있는지요?

웹개발 종합반의 연장선 상에서 물어봅니다. app.py의 동작확인을 위한 디버깅에 관한 자료 링크를 보내어 주시기 바랍니다.


어쨌든 다음의 코드에서 homework_get()과 homework_post도 둘다 제대로 동작을 하지 않습니다. 팬명록 화면에서 alert을 통한 pop-up이 나타나지 않아요. 다시 한번 얘기하지만 로컬의 클라이언트/서버 환경에서는 잘됩니다.


from flask import Flask, render_template, request, jsonify
app = Flask(__name__)


from pymongo import MongoClient
client = MongoClient('mongodb+srv://wgoose:.sparta@cluster0.diha6mm.mongodb.net/?retryWrites=true&w=majority')
db = client.dbsparta


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


@app.route("/homework", methods=["POST"])
def homework_post():
    nickname_receive = request.form['nickname_give']
    recomment_receive = request.form['recomment_give']


    doc = {
        'n_name': nickname_receive,
        'r_comment': recomment_receive
    }
    db.gstbk.insert_one(doc)


    return jsonify({'msg':'등록 완료!'})


@app.route("/homework", methods=["GET"])
def homework_get():
    all_gstbk = list(db.gstbk.find({}, {'_id': False}))
    return jsonify({'gstbk':all_gstbk})


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


취소
 공유
취소
댓글 0
댓글 알림
나의얼굴