• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

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

22.09.18 07:34 작성 조회수 327

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로 딕셔너리를 만들어서 넘기는건 그냥 데이터를 넘기는 개념이 됩니다. 도움이 되셨길 바랍니다.