这个错误提示 `views.page.page` 模块中没有 `pb` 属性。在 Flask 中,`Blueprint` 对象通常会被定义并注册到应用中。如果你尝试从 `views.page.page` 中导入 `pb`,但它不存在,可能是因为 `pb` 没有被正确定义或导出。
### 解决步骤
1. **检查 `views.page.page` 文件中是否定义了 `Blueprint`**
Flask 的 `Blueprint` 是用来组织代码的常见方式。你需要确保在 `views/page/page.py` 文件中定义了一个 `Blueprint` 对象。
示例 `page.py` 中定义 `Blueprint`:
确保 `pb` 是 `Blueprint` 对象,并且它被正确导出。
2. **确保正确导入 `Blueprint`**
在 `app.py` 中,正确地导入并注册 `Blueprint`。导入时,确保 `views.page.page` 模块中确实定义了 `pb`。
你的 `app.py` 文件可能应该看起来像这样:
3. **确认项目结构**
确保项目结构如下:
```
项目根目录/
├── app.py
└── views/
└── page/
├── __init__.py
└── page.py
```
`__init__.py` 文件是必须的,它使得 `views` 和 `views.page` 被识别为 Python 包。如果没有 `__init__.py` 文件,Python 会无法正确导入模块。
4. **检查命名冲突**
如果 `views.page.page` 中有其他模块或变量名和 `pb` 冲突,也可能导致这个问题。确保模块文件中没有名称冲突,特别是全局变量或模块名。
### 可能的修复代码
#### `views/page/page.py` 文件:
#### `app.py` 文件:
### 总结
- 确保在 `views/page/page.py` 中正确定义并导出了 `Blueprint` 对象。
- 确保项目结构包含 `__init__.py` 文件,使 Python 可以正确导入模块。
- 检查导入路径和对象的名称,确保 `pb` 被正确注册为 `Blueprint`。
通过这些步骤,你应该能够解决这个 `AttributeError` 问题。如果问题仍然存在,请提供更多的代码细节,我可以帮助你进一步分析。
修改前代码:
修改后代码:
另外再views路径下增加了__init__.py 问题得到完美解决