【发布时间】:2017-10-09 23:51:31
【问题描述】:
socketservice.py:
from flask import Flask, render_template
from flask_socketio import SocketIO, emit
from backend.database import db
app = Flask(__name__)
socketio = SocketIO(app, engineio_logger=True)
@socketio.on('connect')
def handle_connection():
from backend.electionAdministration import syncElections
syncElections()
if __name__ == '__main__':
socketio.run(app)
选举管理.py:
from flask_socketio import SocketIO, emit
from bson.json_util import dumps
from backend.socketservice import socketio
from backend.database import db
def syncElections():
elections = db.elections.find()
emit('syncElections',dumps(res) , broadcast=True)
@socketio.on('createElection')
def createElection(data):
db.elections.insert({'title': data["title"]})
syncElections()
问题是,当createElection 事件位于文件electionAdministration.py 中时,它永远不会被调用。当我将它移到socketservice.py 时,它突然起作用了。
但我的意思是,我不能将所有内容都放在一个文件中,因为随着应用程序的增长,它会变得非常混乱。
【问题讨论】:
标签: python flask-socketio