커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
MongoDB와 연결이 안됩니다.
undefined주차
북마크
장*석
댓글
6
추천
0
조회수
16
조회수
16
답변 완료

* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.

* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.


뼈대 준비하기 하고 http://localhost:5000/ 까지는 따라가는데, MongoDB의 refresh후에 연결되지 않습니다.



스파르타 즉문즉답





app.py


from flask import Flask, render_template, request, jsonify

app = Flask(__name__)


from pymongo import MongoClient

client = MongoClient('mongodb+srv://sparta:test@clustersparta.yfydbhq.mongodb.net/?retryWrites=true&w=majority')

db = client.dbsparta


@app.route('/')

def home():

    return render_template('index.html')


@app.route("/bucket", methods=["POST"])

def bucket_post():

    bucket_receive = request.form['bucket_give']

    doc = {

        'bucket':bucket_receive

    }

    db.bucket.insert_one(doc)

    return jsonify({'msg': '저장 완료!'})

   

@app.route("/bucket", methods=["GET"])

def bucket_get():

    return jsonify({'msg': 'GET 연결 완료!'})


if __name__ == '__main__':

    app.run('0.0.0.0', port=5000, debug=True)



터미널



SAMSUNG@LAPTOP-MTDNJ71J MINGW64 ~/OneDrive/바탕 화면/sparta/projects/04.bucket

$ source "c:/Users/SAMSUNG/OneDrive/바탕 화면/sparta/projects/04.bucket/venv/Scripts/activate"

(venv) 

SAMSUNG@LAPTOP-MTDNJ71J MINGW64 ~/OneDrive/바탕 화면/sparta/projects/04.bucket

$ "c:/Users/SAMSUNG/OneDrive/바탕 화면/sparta/projects/04.bucket/venv/Scripts/python.exe" "c:/Users/SAMSUNG/OneDrive/바탕 화면/sparta/projects/04.bucket/app.py"

 * Serving Flask app 'app'

 * Debug mode: on

WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.

 * Running on all addresses (0.0.0.0)

 * Running on http://127.0.0.1:5000

 * Running on http://192.168.35.15:5000

Press CTRL+C to quit

 * Restarting with stat

 * Debugger is active!

 * Debugger PIN: 439-441-521

127.0.0.1 - - [14/Mar/2023 17:51:04] "GET / HTTP/1.1" 200 -

127.0.0.1 - - [14/Mar/2023 17:51:04] "GET /bucket HTTP/1.1" 200 -

샘플데이터

127.0.0.1 - - [14/Mar/2023 17:51:28] "POST /bucket HTTP/1.1" 200 -

127.0.0.1 - - [14/Mar/2023 17:51:30] "GET / HTTP/1.1" 200 -

127.0.0.1 - - [14/Mar/2023 17:51:31] "GET /bucket HTTP/1.1" 200 -

 * Detected change in 'c:\\Users\\SAMSUNG\\OneDrive\\바탕 화면\\sparta\\projects\\04.bucket\\app.py', reloading

 * Restarting with stat

 * Debugger is active!

 * Debugger PIN: 439-441-521

 * Detected change in 'c:\\Users\\SAMSUNG\\OneDrive\\바탕 화면\\sparta\\projects\\04.bucket\\app.py', reloading

Exception in thread Thread-1:

Traceback (most recent call last):

 File "C:\Users\SAMSUNG\AppData\Local\Programs\Python\Python38\lib\threading.py", line 932, in _bootstrap_inner

  self.run()

 File "C:\Users\SAMSUNG\AppData\Local\Programs\Python\Python38\lib\threading.py", line 870, in run

  self._target(*self._args, **self._kwargs)

 File "C:\Users\SAMSUNG\OneDrive\바탕 화면\sparta\projects\04.bucket\venv\lib\site-packages\werkzeug\serving.py", line 766, in serve_forever

  super().serve_forever(poll_interval=poll_interval)

 File "C:\Users\SAMSUNG\AppData\Local\Programs\Python\Python38\lib\socketserver.py", line 232, in serve_forever

  ready = selector.select(poll_interval)

 File "C:\Users\SAMSUNG\AppData\Local\Programs\Python\Python38\lib\selectors.py", line 323, in select

  r, w, _ = self._select(self._readers, self._writers, [], timeout)

 File "C:\Users\SAMSUNG\AppData\Local\Programs\Python\Python38\lib\selectors.py", line 314, in _select

  r, w, x = select.select(r, w, w, timeout)

OSError: [WinError 10038] 소켓 이외의 개체에 작업을 시도했습니다

 * Restarting with stat

 * Debugger is active!

 * Debugger PIN: 439-441-521

127.0.0.1 - - [14/Mar/2023 18:03:54] "GET / HTTP/1.1" 200 -

127.0.0.1 - - [14/Mar/2023 18:03:54] "GET /bucket HTTP/1.1" 200 -

127.0.0.1 - - [14/Mar/2023 18:04:34] "POST /bucket HTTP/1.1" 500 -

Traceback (most recent call last):

 File "C:\Users\SAMSUNG\OneDrive\바탕 화면\sparta\projects\04.bucket\venv\lib\site-packages\flask\app.py", line 2551, in __call__

  return self.wsgi_app(environ, start_response)

 File "C:\Users\SAMSUNG\OneDrive\바탕 화면\sparta\projects\04.bucket\venv\lib\site-packages\flask\app.py", line 2531, in wsgi_app

  response = self.handle_exception(e)

 File "C:\Users\SAMSUNG\OneDrive\바탕 화면\sparta\projects\04.bucket\venv\lib\site-packages\flask\app.py", line 2528, in wsgi_app

  response = self.full_dispatch_request()

 File "C:\Users\SAMSUNG\OneDrive\바탕 화면\sparta\projects\04.bucket\venv\lib\site-packages\flask\app.py", line 1825, in full_dispatch_request

  rv = self.handle_user_exception(e)

 File "C:\Users\SAMSUNG\OneDrive\바탕 화면\sparta\projects\04.bucket\venv\lib\site-packages\flask\app.py", line 1823, in full_dispatch_request

  rv = self.dispatch_request()

 File "C:\Users\SAMSUNG\OneDrive\바탕 화면\sparta\projects\04.bucket\venv\lib\site-packages\flask\app.py", line 1799, in dispatch_request

  return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)

 File "c:\Users\SAMSUNG\OneDrive\바탕 화면\sparta\projects\04.bucket\app.py", line 14, in bucket_post

  bucket_receive = request.form['bucket_give']

 File "C:\Users\SAMSUNG\OneDrive\바탕 화면\sparta\projects\04.bucket\venv\lib\site-packages\werkzeug\datastructures.py", line 375, in __getitem__

  raise exceptions.BadRequestKeyError(key)

werkzeug.exceptions.BadRequestKeyError: 400 Bad Request: The browser (or proxy) sent a request that this server could not understand.

KeyError: 'bucket_give'

127.0.0.1 - - [14/Mar/2023 18:17:29] "POST /bucket HTTP/1.1" 500 -

Traceback (most recent call last):

 File "C:\Users\SAMSUNG\OneDrive\바탕 화면\sparta\projects\04.bucket\venv\lib\site-packages\flask\app.py", line 2551, in __call__

  return self.wsgi_app(environ, start_response)

 File "C:\Users\SAMSUNG\OneDrive\바탕 화면\sparta\projects\04.bucket\venv\lib\site-packages\flask\app.py", line 2531, in wsgi_app

  response = self.handle_exception(e)

 File "C:\Users\SAMSUNG\OneDrive\바탕 화면\sparta\projects\04.bucket\venv\lib\site-packages\flask\app.py", line 2528, in wsgi_app

  response = self.full_dispatch_request()

 File "C:\Users\SAMSUNG\OneDrive\바탕 화면\sparta\projects\04.bucket\venv\lib\site-packages\flask\app.py", line 1825, in full_dispatch_request

  rv = self.handle_user_exception(e)

 File "C:\Users\SAMSUNG\OneDrive\바탕 화면\sparta\projects\04.bucket\venv\lib\site-packages\flask\app.py", line 1823, in full_dispatch_request

  rv = self.dispatch_request()

 File "C:\Users\SAMSUNG\OneDrive\바탕 화면\sparta\projects\04.bucket\venv\lib\site-packages\flask\app.py", line 1799, in dispatch_request

  return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)

 File "c:\Users\SAMSUNG\OneDrive\바탕 화면\sparta\projects\04.bucket\app.py", line 14, in bucket_post

  bucket_receive = request.form['bucket_give']

 File "C:\Users\SAMSUNG\OneDrive\바탕 화면\sparta\projects\04.bucket\venv\lib\site-packages\werkzeug\datastructures.py", line 375, in __getitem__

  raise exceptions.BadRequestKeyError(key)

werkzeug.exceptions.BadRequestKeyError: 400 Bad Request: The browser (or proxy) sent a request that this server could not understand.

KeyError: 'bucket_give'

127.0.0.1 - - [14/Mar/2023 18:17:35] "POST /bucket HTTP/1.1" 500 -

Traceback (most recent call last):

 File "C:\Users\SAMSUNG\OneDrive\바탕 화면\sparta\projects\04.bucket\venv\lib\site-packages\flask\app.py", line 2551, in __call__

  return self.wsgi_app(environ, start_response)

 File "C:\Users\SAMSUNG\OneDrive\바탕 화면\sparta\projects\04.bucket\venv\lib\site-packages\flask\app.py", line 2531, in wsgi_app

  response = self.handle_exception(e)

 File "C:\Users\SAMSUNG\OneDrive\바탕 화면\sparta\projects\04.bucket\venv\lib\site-packages\flask\app.py", line 2528, in wsgi_app

  response = self.full_dispatch_request()

 File "C:\Users\SAMSUNG\OneDrive\바탕 화면\sparta\projects\04.bucket\venv\lib\site-packages\flask\app.py", line 1825, in full_dispatch_request

  rv = self.handle_user_exception(e)

 File "C:\Users\SAMSUNG\OneDrive\바탕 화면\sparta\projects\04.bucket\venv\lib\site-packages\flask\app.py", line 1823, in full_dispatch_request

  rv = self.dispatch_request()

 File "C:\Users\SAMSUNG\OneDrive\바탕 화면\sparta\projects\04.bucket\venv\lib\site-packages\flask\app.py", line 1799, in dispatch_request

  return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)

 File "c:\Users\SAMSUNG\OneDrive\바탕 화면\sparta\projects\04.bucket\app.py", line 14, in bucket_post

  bucket_receive = request.form['bucket_give']

 File "C:\Users\SAMSUNG\OneDrive\바탕 화면\sparta\projects\04.bucket\venv\lib\site-packages\werkzeug\datastructures.py", line 375, in __getitem__

  raise exceptions.BadRequestKeyError(key)

werkzeug.exceptions.BadRequestKeyError: 400 Bad Request: The browser (or proxy) sent a request that this server could not understand.

KeyError: 'bucket_give'

127.0.0.1 - - [14/Mar/2023 18:19:58] "GET / HTTP/1.1" 200 -






취소
 공유
취소
댓글 0
댓글 알림
나의얼굴