簡體   English   中英

Flask-將調用函數傳遞給類

[英]Flask - calling functions passed into a class

我有一種情況,我需要讓Flask在另一個類中調用一個函數。 例如,我的“ WebServer”類采用一個參數,該參數是另一個函數的處理程序。 此類的構造函數將此函數參數存儲到名為foo的變量中,理想情況下,Flask可以稍后調用。 例如:

from flask import Flask, render_template, url_for, request, jsonify

app = Flask(__name__)
foo = None

class WebServer:
    @app.route("/")
    def index():
        foo()

    def __init__(self,myFunc):
        app.run(host='0.0.0.0',debug=False)
        foo = myFunc

現在,由於Flask的應用程序上下文,這顯然行不通。 在這種情況下,foo始終為“ None”。 做這樣的事情的最佳方法是什么? 我嘗試研究了Flask的全局變量,但似乎並不能滿足我的需要。

您可以在__init__函數中使foo全局變量:

def __init__(self,myFunc):
    global foo
    app.run(host='0.0.0.0',debug=False)
    foo = myFunc

這不是很好,但應該可以。 或者,只需使用應用程序配置傳遞它即可。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM