如果你需要在启动Flask应用程序之后但严格在第一个请求之前执行一些代码,而不是由@ app.before_first_request可以处理的第一个请求的执行触发,则应使用CESCO所说的Flask_script,但是你可以继承Server类并覆盖
__ call __方法,而不是使用@ manager.command覆盖runserver命令:
from flask import Flaskfrom flask_script import Manager, Serverdef custom_call(): #Your pre passclass CustomServer(Server): def __call__(self, app, *args, **kwargs): custom_call() #Hint: Here you could manipulate app return Server.__call__(self, app, *args, **kwargs)app = Flask(__name__)manager = Manager(app)# Remeber to add the command to your Manager instancemanager.add_command('runserver', CustomServer())if __name__ == "__main__": manager.run()这样,你就不会覆盖runserver命令的默认选项。



