在利用Flask进行Web开发时,通过重置项目结构,结构如下:
再次运行项目出现了SystemError: Parent module ” not loaded, cannot perform relative import的错误提示。通过错误定位,发现是导包时出现的问题。
from .app import create_app
翻译过来就是“父模块’’没有加载,不能执行相对导入”。为什么会出现这样的问题呢?
通过查看项目结构,使用
from web_flask.app import create_app
此时出现更多的导包问题
自己首先定位到views.py中,删除了导包语句
from .models import Users
然后,再使用局部导包
from web_flask.app.models import Users
user = Users(1, ‘Sun’)
至此,问题得到了解决。
至于为什么通过这种局部导包的方式就可以解决问题,正在研究中…
《Flask Web开发:基于Python的Web应用开发实战》
《Learning Python, 5th Edition》