Baiduの一日の大半は、あなたがjavaファイルを書き込む前に分離されているので、解決策を考えるためにウィンカーを学習するまで、方法がわかりません
そのため、Eメールサービスコードは、ビューの内部に配置されますが、非同期スレッドアプリケーションを使用する必要がありますされ、痛みの卵他のモジュールがapp.pyから任意の変数をインポートすることはできません。
すなわち:
app.pyマスターファイル、view.pyビジネス文書である、私が行う方法の変数を考慮してアプリを使用する必要があり、Baiduの多くは、検索する方法はありません
ここでは、それは、信号で最初のレコードを達成することができます:
python3内蔵ウインカーは、最初のビューに信号を定義する、直接使用することができます。
(この機能は、アプリを使用する必要があり、我々は唯一のappp.py年で書くことができます)あなたが使用したい機能app.pyを接続し、アプリが変数の他のモジュールをインポートすることができます。
#フラスコメール送信中()関数はCURRENT_APPを使用して、アプリケーション・コンテキストを有効にする必要があります。 #しかし、異なるスレッドでmail.send()関数で、アプリケーションコンテキストの実装が使用されるapp.app_contextは()人工作成するために DEFのsend_async_email(MSG): 印刷(「--- ---送信を開始」) app.app_contextで(): mail.send(MSG) #1 量信号がビュー内に導入され、非同期伝送機能と接続 signal.connect(send_async_email)
信号呼び出すアプリの機能を使用して最後のビュー:
user.routeの@(' / sendsync / ' ) DEF (send_sync_mail): MSGはメッセージを=(=件名" !こんにちは世界" 、 SENDER = " [email protected] " 、 受信者 = [ " [email protected] " ]) msg.body = " テスト非同期送信" msg.html = " <H2>試験非同期伝送</ H2> " のThrは、スレッド(目標= signal.send、引数の= = [MSG、]) のThrを。スタート() の戻り 」OK "
最後のテストは成功しました:
ここでは、また、送信者のような唯一の指定されたパラメータを、受け入れを使用することができます。
時間は2であるときにのみ、round_two方法を入力します