묻고 답해요
156만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결종이책 출간으로 시작하는 나만의 브랜드 만들기
추가 업데이트 강의가 있나요?
차분한 강의 잘 들었습니다.마지막 강의인 줄 알았는데마지막 부분에 다음 강의를 언급하셔서요.혹시 추가적인 강의가 업데이트 되나요?된다면 언제쯤 되나요?
-
미해결남박사의 파이썬으로 실전 웹사이트 만들기
pymongo.errors.ServerSelectionTimeoutError 및 DB연결 문제
안녕하세요 몇 가지 문제가 생겨 질문드립니다. 1. 글쓰기 html파일은 잘 작동하는데 글상세보기로 넘어가지지 않습니다. 2. db연결이 잘 되었는지가 궁금한데 robo 3T상 myweb이라는 db이름이 안나와 확인이 불가합니다. 어딘가 놓친 부분이 없는지 확인 부탁드립니다. 아래는 error 화면 및 소스코드입니다. 참고로 아래와 같이 프린트는 잘 진행됩니다. # -*- coding: cp949 -*- from flask import Flask from flask import request from flask import render_template from flask_pymongo import PyMongo from datetime import datetime from bson.objectid import ObjectId from flask import abort import time from flask_pymongo.wrappers import Database from pymongo import database app = Flask(__name__) # 프로토콜명 :// 주소 : 포트 / db이름 app.config["MONGO_URI"] = "mongodb://locolhost:27017/myweb" mongo = PyMongo(app) @app.template_filter("formatdatetime") def format_datetime(value): if value is None: return "" now_timestamp = time.time() offset = datetime.fromtimestamp(now_timestamp) - database.utcfromtimestamp(now_timestamp) vlaue = datetime.fromtimestamp(int(value)/1000) + offset return value.strftime('%Y-%m-%d %H:%M:%S') @app.route("/view") def board_view(): idx = request.args.get("idx") if idx is not None: board = mongo.db.board board.find_one({"_id": ObjectId(idx)}) if database is not None: result = { "id": database.get("_id"), "name": database.get("name"), "title": database.get("title"), "contents": database.get("contents"), "pubdate": database.get("pubdate"), "view": database.get("view") } return render_template("view.html", result=result) return abort(404) # Not Found @app.route("/write", methods=["GET", "POST"]) def board_write(): if request.method == "POST": name = request.form.get("name") title = request.form.get("title") contents = request.form.get("contents") print(name, title, contents) current_utc_time = round(datetime.utcnow().timestamp()*1000) board = mongo.db.board post = { "name": name, "title": title, "contents": contents, "pubdate": current_utc_time, "view": 0 } x = board.insert_one(post) print(x.insert_id) return "" else: return render_template("write.html") if __name__ == "__main__": app.run(host="0.0.0.0", debug=True, port=9000)