仔细看项目结构和每个py文件的代码与注释,画图帮助理解,会有直观的理解
方法二:
直接用import来引用(推荐指数:两颗星)
将 from a import b 改成 import a.b ,据说就不会有问题了。
方法三:
设计构架,避免循环引用(推荐指数:三颗星)
尽量避免这种情况。出现这种情况就是代码的布局有问题。对现有的模块就行拆分或者是合并,保证模块尽量独立。
所有的模块最后都有一个层级,不要引用你同级或者高级的模块。
代码:
from app import app
if __name__ == '__main__':
app.run(debug=True)
循环引用错误是因为from app import routes这一句放在了app = Flask(__name__) 前面
from flask import Flask # 从flask包中导入Flask类
app = Flask(__name__) # 将Flask类的实例 赋值给名为 app 的变量。这个实例成为app包的成员。
# print('等会谁(哪个包或模块)在使用我:', __name__)
from app import routes # 从app包中导入模块routes
# 注:上面两个app是完全不同的东西。两者都是纯粹约定俗成的命名,可重命名其他内容。
# 奇怪:该行代码放到图片代码中第七行会报错?因为会造成循环引用
from app import app # 从app包中导入 app 这个实例 # 2个路由 @app.route('/') @app.route('/index') # 1个视图函数 def index(): return "Hello,World!" # 返回一个字符串