Traceback (most recent call last): File "src\\gevent\\greenlet.py", line 908, in gevent._gevent_cgreenlet.Greenlet.run File "f:\tg\pyCharm\.venv\Lib\site-packages\socketio\server.py", line 591, in _handle_event_internal r = server._trigger_event(data[0], namespace, sid, *data[1:]) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "f:\tg\pyCharm\.venv\Lib\site-packages\socketio\server.py", line 617, in _trigger_event return handler(*args) ^^^^^^^^^^^^^^ File "f:\tg\pyCharm\.venv\Lib\site-packages\flask_socketio\__init__.py", line 292, in _handler return self._handle_event(handler, message, real_ns, sid, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "f:\tg\pyCharm\.venv\Lib\site-packages\flask_socketio\__init__.py", line 835, in _handle_event ret = handler(*args) ^^^^^^^^^^^^^^ File "F:\tg\pyCharm\白菜项目\chat_templates_html\chat_blueprint.py", line 476, in handle_join inserted_time = datetime.datetime.now() ^^^^^^^^^^^^^^^^^ AttributeError: type object 'datetime.datetime' has no attribute 'datetime' 2025-07-07T22:09:25Z <Thread at 0x222af8fe480: <bound method Server._handle_event_internal of <socketio.server.Server object at 0x00000222ACC5D150>>(<socketio.server.Server object at 0x00000222ACC5D1, 'cWpuq9Ey9n3BJr1JABaF', '0y33Jynb1ngIxf8yABaE', ['join', {'agent_id': 26}], '/', None)> failed with AttributeError
时间: 2025-07-09 10:10:00 浏览: 4
你遇到的错误是:
```
AttributeError: type object 'datetime.datetime' has no attribute 'datetime'
```
这个错误是因为你在代码中写了类似这样的语句:
```python
inserted_time = datetime.datetime.now()
```
但 Python 中 `datetime` 模块的结构是这样的:
- `datetime` 是一个模块。
- `datetime` 模块里有一个类也叫 `datetime`。
所以正确的调用方式应该是:
```python
from datetime import datetime
inserted_time = datetime.now()
```
或者:
```python
import datetime
inserted_time = datetime.datetime.now()
```
---
## 🔍 错误原因分析
你的代码是:
```python
inserted_time = datetime.datetime.now()
```
但你导入的方式可能是这样:
```python
import datetime
```
此时,`datetime.datetime` 是对的,但如果意外地做了如下操作:
```python
from datetime import datetime # ❌ 只导入了 datetime 类,不是整个模块
```
然后又写成:
```python
inserted_time = datetime.datetime.now() # ❌ 这时 datetime 是类,不是模块!
```
就会出现这个错误:`type object 'datetime.datetime' has no attribute 'datetime'`
---
## ✅ 正确写法示例
### ✅ 方法一(推荐):
```python
from datetime import datetime
now = datetime.now()
print(now)
```
### ✅ 方法二:
```python
import datetime
now = datetime.datetime.now()
print(now)
```
---
## 🛠️ 如何修复你的项目中的错误
找到报错的这行代码:
```python
inserted_time = datetime.datetime.now()
```
根据你实际导入的方式进行修改。建议使用第一种方法:
```python
from datetime import datetime
inserted_time = datetime.now()
```
---
## 🧪 示例完整修复
假设你的函数在 Flask-SocketIO 的事件处理中,例如:
```python
@socketio.on('join')
def handle_join(data):
from datetime import datetime
inserted_time = datetime.now()
print("用户加入时间:", inserted_time)
join_room(data['agent_id'])
emit('status', {'msg': '用户已加入房间'})
```
---
## ✅ 相关问题
阅读全文
相关推荐


















