Flask 结构——无法从 __init__.py 导入应用程序

2024-03-27

我是 python 的初学者,并且在使用设置应用程序的结构时遇到了很多麻烦__init__.py即使在搜索了几个教程之后。

目前,我当前的目录结构如下所示

/parent
   /myapp
       __init__.py
       views.py
   /virtualenv

以前,我有(如果有什么区别的话)

/parent
   /myapp
   /bin
   /include
   /lib

的内容__init__.py如下:

 from flask import Flask
 app = Flask(__name__)

和我的观点.py

 from myapp import app
 @app.route('/')
 def test():
    return 'This is a new test'

 if __name__ == '__main__':
    app.run(debug=True)

If myapp正在使用 init 文件进行初始化,为什么我不能将其调用到视图中?我收到一条错误消息,指出“我无法导入应用程序,并且没有名为 myapp 的模块”。如果我删除 init 文件并将内容复制到views.py 文件的顶部,则一切正常。


您正在使用views作为主要脚本。您不能将脚本放入包中;它所在的目录不能被这样对待。 Python 添加了parent/myapp目录到Python路径,而不是parent path.

Add a separate顶层脚本(旁边myapp):

from myapp import app

if __name__ == '__main__':
    app.run(debug=True)

并添加导入__init__.py导入您的观点:

from flask import Flask
app = Flask(__name__)

import views

并删除if __name__ == '__main__':阻止来自views.py.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Flask 结构——无法从 __init__.py 导入应用程序 的相关文章

随机推荐