我试图在先前通过SocketIO使用Flask的项目中添加简单的聊天功能。我无法将SocketIO正确地集成到我的项目中。虽然我是Flask和SocketIO的新手,但我已经使用python一段时间了。
错误:
获取http://127.0.0.1:5000/socket.io/?EIO=3&transport=polling&t=1523266597636-12 404(未找到)
我的项目结构:
├───config.py
├───run.py
├───app
│ ├───admin
│ ├───auth
│ ├───home
│ ├───static
│ │ ├───css
│ │ ├───img
│ │ └───js
│ └───templates
| ├───base.html
│ ├───auth
| | ├───login.html
| | └───register.html
│ └───home
| ├───dashboard.html
| └───index.html
├───instance
└───migrations
└───versions
在app
目录中,admin
,auth
和home
分别有两个文件__init__.py
和views.py
。 static
包含所有CSS,JS和图像。 templates
包含我正在投放的所有HTML模板。我希望聊天框位于dashboard.html
> app
> template
中的home
。 dashboard.html
有一个实现SocketIO的javascript文件。
主要目标
TL; DR我想知道在项目的哪个位置我应该为socketIO添加.py文件。 .py文件是从上面的dashboard.html
子文件引用的。基本上,我在哪里放置SocketIO python脚本,以便它在正确的URL上提供SocketIO? (http://127.0.0.1/socketio/)
我尝试过的事情
1)修改__init__.py
> app
中的home
和前面提到的dashboard.html
- 这会导致404轮询错误
2)将包含socketIO代码的新python脚本添加到基本app
目录并在dashboard.html
中使用它 - 导致404轮询错误
P.S。脚本正在运行,因为在自己的项目中测试时,SocketIO聊天工作完美。如果您想查看任何文件的内容,请告诉我。我非常乐意为您提供任何额外信息。
我非常感谢所有的帮助!
答案 0 :(得分:0)
我对python不太满意,但是我遇到了同样的问题。我浪费了3天!我生命中的3天!!! :((当我将python-socketio库从版本2.0.0(在我的requirements.txt中)更新到python-socketio 2.1.2时,我的问题已修复
pip install python-socketio --upgrade
也许此答案为某人节省了大量时间。