
* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.
* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.
저번에도 eb init에서 문제가 생겼었는데 해결을 못했습니다. 4시간 동안 즉문즉답으로 가르쳐주시는 대로 해도 해결이 안 돼서 팀뷰어로 튜터님이 도와주셨는데도 해결이 어려웠습니다. 그래서 이번에는 파일부터 새로 만들고 강의에서 시키는 대로 다 했는데 또 eb init에서 막힙니다... 또 일을 꼬아놓을까봐 문제 생기자마자 즉문즉답에 올립니다! 도와주세요...
.png)
from flask import Flask, render_template, request, jsonify
application = app = Flask(__name__)
# pymongo를 불러와서 db에 저장하기 위해 필요한 세 문장
from pymongo import MongoClient
client = MongoClient('mongodb+srv://sparta:test@cluster0.hhwnxyd.mongodb.net/?retryWrites=true&w=majority')
db = client.dbsparta
@app.route('/')
def home():
return render_template('index.html')
# 닉네임은 name, 응원 댓글은 comment라고 쓸 거다.
@app.route("/guestbook", methods=["POST"])
def guestbook_post():
name_receive = request.form['name_give'] # [] 안에 있는 데이터를 받아서 저장한다.
comment_receive = request.form['comment_give']
doc = { # pymongo를 불러놨으면 이제 document에 dictionary를 만들어서 저장할 거다.
'name':name_receive, #name은 name_receive로 들어간다. 한 번에 두 개의 데이터가 들어갈 거니까 하나 다 적으면 콤마를 적어야 한다.
'comment':comment_receive
} # 괄호를 닫고
db.fans.insert_one(doc) # 저장할 때 쓰는 코드다. 예전에 만들었던 fan 말고 다른 데에 데이터를 저장하고 싶어서 fans라고 이름을 정했다. 여기서 서버 쪽은 완료됐다.
return jsonify({'msg': '저장 완료!'})
@app.route("/guestbook", methods=["GET"])
def guestbook_get():
all_comments = list(db.fans.find({},{'_id':False})) # 여러 개 찾기. all_comments는 변수 이름이니까 그냥 직관적으로 알아볼 수 있게 마음대로 정하면 된다.
return jsonify({'result': all_comments}) # 위에서 만든 변수 all_comments를 result에 다 내려주는 거다.
if __name__ == '__main__':
app.run()
