【发布时间】:2018-04-17 16:41:01
【问题描述】:
我有一个 flask-socketIO 应用程序,其中我的 socket.py 文件中的断点不起作用。
在__init__.py 我有以下代码:
from flask import Flask
from flask_socketio import SocketIO
async_mode = None
app = Flask(__name__)
app.config.from_object('config')
socketio = SocketIO(app, async_mode=async_mode)
from .auth import SamlManager
saml_manager = SamlManager()
saml_manager.init_app(app)
from app import views, socket, saml_func
<end>
socket.py:
from app import socketio
@socketio.on('my_event', namespace='/socket')
def test_message(message):
emit('my_response', {'data': 'received data'})
如果我在 socket.py 中的任何位置放置断点,包括导入但是,任何其他代码(例如 views.py),断点都可以工作
views.py:
from app import app, socketio, saml_manager
from flask import render_template
@app.route('/', methods=['GET', 'POST'])
@app.route('/index', methods=['GET', 'POST'])
@saml_manager.login_required
def index():
return render_template('index.html', async_mode=socketio.async_mode)
知道为什么断点对套接字不起作用,但对视图起作用,因为我以同样的方式调用它们?
【问题讨论】:
-
socket是标准模块的名称。您应该将您的模块命名为其他名称(或从没有命名冲突的地方调用它)。
标签: python flask pycharm breakpoints flask-socketio