1

コマンドの直後に関数を呼び出そうとしてpython manage.py runserverいますが、単純な印刷が可能です。私はいくつかのものを読んで、def ready(self)このような 非常に興味深いトピックを見つけましたDjangoがONCEのみを起動するときにAppConfig.ready() またはExecuteコードをオーバーライドしますか? 指示に従いますが、django 2.1.3 バージョンでは機能しません。一度準備ができた関数は、別のときに呼び出されません。サーバー起動後に関数を呼び出すというのはよくあることだと思います。それほど問題にはならないはずですが、それでも適切な解決策が見つかりませんAppRegistryNotReady exceptions

アップデート

別の解決策を試しました

次のようなミドルウェア クラスを作成します。

import time


class SimpleMiddleware:
    def __init__(self, get_response):
        self.get_response = get_response
        while True:
            print("true")
            time.sleep(5)

    def __call__(self, request):

        response = self.get_response(request)

        return response

今、私は次のような適切な出力を取得します:

Performing system checks...

System check identified no issues (0 silenced).
January 03, 2019 - 14:10:55
Django version 2.1.3, using settings 'CMS.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
true
true
true
true
true
true
true
.
.
.

しかし、接続はありませんここに画像の説明を入力

4

3 に答える 3