인프런 커뮤니티 질문&답변

가후님의 프로필 이미지
가후

작성한 질문수

남박사의 파이썬으로 실전 웹사이트 만들기

게시판만들기 - 글 상세보기

html에 mongodb 값 넘기는 방법 문의 드립니다

작성

·

405

1

강의내용 7분 39초 정도 내용입니다

 

@app.route("/view")
def board_view():
    idx = request.args.get('idx')
    if idx is not None:
        board = mongo.db.board
        data = board.find_one({"_id": ObjectId(idx)})

        if data is not None:
            result = {
                "id": data.get('_id'),
                "name": data.get('name'),
                'title': data.get('title'),
                'contents': data.get('contents'),
                'pubdate': data.get('pubdate'),
                'view': data.get('view')
            }
            return render_template('view.html', result=result)

위처럼

board를 find_one하고

find한 값을

result딕셔너리를 만들어서

view.html에 result=result 이렇게 값을 넘겨줍니다


제가 테스트로 result를 만들지 않고

find_one한 결과를

"data = board.find_one({"_id": ObjectId(idx)})"

return render_template('view.html', data=data)

data=data 이런식으로 view.html에 넘기고

html에서

{{data.title}}

{{data.name}}

이런식으로 값을 출력해보니

값을 잘 받아 옵니다.

result라는 딕셔너리를 만들어서, 값을 넘기는 이유가 뭔지 궁금해서 문의 드립니다.!!

답변 1

0

남박사님의 프로필 이미지
남박사
지식공유자

답변이 늦어 죄송합니다.

result로 따로 넘기는 것과 말씀하신것 처럼 find_one의 결과를 바로 넘기는건 원론적으로 아예 다른 객체를 전달하게 됩니다.

find_one의 결과를 넘길때는 실제 데이터를 넘기는게 아니라 몽고디비의 커서 객체를 넘기게 되는것이고 result로 딕셔너리를 만들어서 넘기는건 그냥 데이터를 넘기는 개념이 됩니다. 도움이 되셨길 바랍니다.

가후님의 프로필 이미지
가후

작성한 질문수

질문하기