ImportError:没有名为application的模块

这个问题在这里已经有了答案:

  • 什么是__init__.py? 11个答案

  • 我认为在Python 2中,你将不得不放空

    __init__.py 
    

    文件在您的数据库目录中


    首先你的数据库文件夹不是一个合适的python包。

    Python中的每个包都是一个必须包含名为__init__.py.的特殊文件的目录__init__.py. 这个文件可以是空的,它表明它所包含的目录是一个Python包,因此可以像导入模块一样导入它。 从学习python网站

    其次(这只是一个建议),为了实施一个合适的命名空间,你应该在你的项目目录内创建一个以应用程序命名的包,并且在每个其他包之上:

    myproject/
      requirements.txt
      setup.cfg
      ...
      myapp/
         __init__.py
         app2.py
         database/
             __init__.py
             dbconfig.py
    

    请注意,包名称double总是小写,如果需要,请使用下划线作为分隔符而不是短划线。

    命名空间将是:

    myapp.database.dbconfig.db
    

    所以从app2.py你可以做例如:

    from .database.dbconfig import db
    

    另外你的代码在app2.py和dbconfig.py中都声明了flask对象。 因此,app2.py模块中的application对象未绑定到Sqlalchemy对象。 您应该在dbconfig中声明您的数据库,然后将其导入到app2.py中并使用init_app方法。

    最后

    平面比嵌套好

    蟒蛇的禅宗

    因此,这棵树可以简化为只包含myapp/__init__.py包含模型和db对象以及flask app对象创建的myapp/__init__.py

    链接地址: http://www.djcxy.com/p/54813.html

    上一篇: ImportError: No module named application

    下一篇: What is the purpose of the