我是python的初学者,__init__.py
即使在搜索了几本教程之后,在使用设置应用程序结构时也遇到了很多麻烦。
目前,我当前的目录结构如下所示
/parent
/myapp
__init__.py
views.py
/virtualenv
以前,我有(如果有帮助)
/parent
/myapp
/bin
/include
/lib
的内容__init__.py
如下:
from flask import Flask
app = Flask(__name__)
和我的views.py
from myapp import app
@app.route('/')
def test():
return 'This is a new test'
if __name__ == '__main__':
app.run(debug=True)
如果myapp
用初始化文件初始化,为什么不能在视图中调用它?我收到一条错误消息,指出“我无法导入应用,并且我没有名为myapp的模块”。如果我删除init文件并将内容复制到views.py文件的顶部,则一切正常。
您正在views
用作主要脚本。您不能将脚本放入包中。它所在的目录不能这样处理。Python将parent/myapp
目录添加到Python路径,而不是parent
路径。
在顶层(位于旁边)添加一个单独的脚本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
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句