I can't figure out how to run socketio instead of app.
I solved the problem in a ptoject, which was using Blueprint scheme:
from app import create_app
app = create_app().socketio
But now I have another files configuration.
Project layout:
-
|- app
| |- __init__.py
| |- routes.py
|- venv
|- my_app.py
routes.py
# ...
from app import app, socketio
# ...
init.py
from flask import Flask
from flask_socketio import SocketIO
app = Flask(__name__)
socketio = SocketIO(app)
from app import routes
-OR-
from flask import Flask
from flask_socketio import SocketIO
app = Flask(__name__)
socketio = SocketIO()
socketio.init_app(app)
with app.app_context():
app.socketio = socketio
from app import routes
my_app.py
from app import app
app = app.socketio
-OR-
from app import socketio as app
-OR-
from app import app, socketio
app = socketio
terminal
flask --app my_app run
flask --app my_app:socketio run
But answers to my attemptions were like these:
Error: Failed to find Flask application or factory in module 'my_app'.
Error: A valid Flask application was not obtained from 'my_app:socketio'.
How can I socketio.run() from terminal?
Thanka.