mongodb 当我关闭应用程序时,Flask应用程序抛出错误

2lpgd968  于 2023-04-05  发布在  Go
关注(0)|答案(1)|浏览(156)

我的代码:

import datetime
from flask import Flask, render_template, request
from pymongo import MongoClient

app = Flask(__name__)
client = MongoClient(<connectionlink>)
app.db = client.blog

@app.route("/", methods=["GET", "POST"])
def index():
    if request.method == "POST":
        entry_content = request.form.get("content")
        formatted_date = datetime.datetime.today().strftime("%d-%m-%Y")
        app.db.entries.insert_one({"content":entry_content, "date":formatted_date})
        
    entries_with_date = [
        (
            entry["content"],
            entry["date"],
            datetime.datetime.strptime(entry["date"], "%d-%m-%Y").strftime("%b %d")
        )
        for entry in app.db.entries.find({})
    ]
    return render_template("index.html", entries=entries_with_date)

错误:

Exception in thread Thread-1 (serve_forever):
Traceback (most recent call last):
File "C:\Users\user\.pyenv\pyenv-win\versions\3.11.1\Lib\threading.py", line 1038, in _bootstrap_inner
self.run()
File "C:\Users\user\.pyenv\pyenv-win\versions\3.11.1\Lib\threading.py", line 975, in run
self._target(*self._args, **self._kwargs)
File "C:\Users\user\Desktop\flask\.venv\Lib\site-packages\werkzeug\serving.py", line 766, in serve_forever
super().serve_forever(poll_interval=poll_interval)
File "C:\Users\user\.pyenv\pyenv-win\versions\3.11.1\Lib\socketserver.py", line 233, in serve_forever
ready = selector.select(poll_interval)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\user\.pyenv\pyenv-win\versions\3.11.1\Lib\selectors.py", line 323, in select
r, w, _ = self._select(self._readers, self._writers, [], timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\user\.pyenv\pyenv-win\versions\3.11.1\Lib\selectors.py", line 314, in _select
r, w, x = select.select(r, w, w, timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
OSError: [WinError 10038] an operation was attempted on something that is not a socket.

数据库和应用程序似乎都工作正常,但当我将flask debug设置为1并运行应用程序时,我得到了这个错误。从我在traceback上读到的内容来看,似乎是py-env问题,但我真的不知道该怎么办。

2eafrhcq

2eafrhcq1#

我也有这个问题,我在vs代码中运行时将其追溯到werkzeug 2.2.3。在2.2.2中,它不会引发异常。我在这里提出了这个问题:https://github.com/pallets/werkzeug/issues/2627

相关问题