작성
·
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}}
이런식으로 값을 출력해보니
값을 잘 받아 옵니다.
답변 1
0
답변이 늦어 죄송합니다.
result로 따로 넘기는 것과 말씀하신것 처럼 find_one의 결과를 바로 넘기는건 원론적으로 아예 다른 객체를 전달하게 됩니다.
find_one의 결과를 넘길때는 실제 데이터를 넘기는게 아니라 몽고디비의 커서 객체를 넘기게 되는것이고 result로 딕셔너리를 만들어서 넘기는건 그냥 데이터를 넘기는 개념이 됩니다. 도움이 되셨길 바랍니다.