を持っていない私は、Webソケットプロジェクトのためにフラスコsocketioを使用していると私はフラスコblueprint
を使用してビューをsplited。フラスコsocketioスプリットapp.py:はAttributeError:「青写真」オブジェクトが属性「wsgi_app」
|-- App
| |-- __init__.py
| |-- app.py
| |-- templates
| | |-- main.html
| | |-- pymeetups.html
| -- views
| |-- __init__.py
| | --- test.py
|-- __init__.py
|-- run.py
run.py:
from gevent import monkey
from flask import Flask, render_template, request
from flask_socketio import SocketIO
monkey.patch_all()
from App.views import test
app = Flask(__name__, template_folder='app/templates')
app.register_blueprint(test.app)
socketio = SocketIO(app)
if __name__ == '__main__':
socketio.run(app, "0.0.0.0", port=80)
テストを
/flask_socketio/__init__.py", line 31, in __init__
flask_app.wsgi_app,
AttributeError: 'Blueprint' object has no attribute 'wsgi_app'
マイプロジェクト構造は、以下である:問題がsocketIOが正しく動作していないと、次のエラーを取得していますということです.py:
from flask import Blueprint, render_template, Flask
from flask_socketio import SocketIO
app = Blueprint('app', __name__)
socketio = SocketIO(app)
@app.route('/')
def main():
return render_template('main.html')
@socketio.on('connect', namespace='/dd')
def ws_conn():
print("connect")
socketio.emit('msg', {'count': 1}, namespace='/dd')
@socketio.on('disconnect', namespace="/dd")
def ws_disconn():
print("disconnect")
問題文を使用して、test.pyファイルから来ている:
app.py:
from gevent import monkey
from flask import Flask, render_template, request
from flask_socketio import SocketIO
monkey.patch_all()
app = Flask(__name__)
socketio = SocketIO(app)
@app.route('/')
def main():
return render_template('main.html')
@socketio.on('connect', namespace='/dd')
def ws_conn():
socketio.emit('msg', {'count': 1}, namespace='/dd')
@socketio.on('disconnect', namespace='/dd')
def ws_disconn():
print("Disconnected")
if __name__ == '__main__':
socketio.run(app, "0.0.0.0", port=80)
フラスコの青写真を使用し、それが完璧に動作1つのファイルにすべてを組み合わせていけない場合
app = Blueprint('app', __name__)
socketio = SocketIO(app)
私は私のアプリケーションは、機能の多くを持っていることを期待するよう
は、どのように私はルートを分割することができ、単一のファイルにすべての機能を管理することは困難ですか。?ここにあなたのコード内の
構造、あなたはショーに 'blueprint'に関連したエラーが指定されていないが、socketioが動作していません。いいえソケットが放出されません。 –
ミゲルGringberg: https://github.com/miguelgrinberg/Flask-SocketIO-Chat:次の例のアプリケーションは、設計図を持っている大きなアプリケーションを構築する方法を示しています – metmirr