我正在启动一个flask
项目,在我的代码中
from flask import Flask, render_template, abort
app = Flask(__name__)
现在app
到底是什么?
我在关注this guide,我对这个结构感到特别困惑,因为他选择了名为app/
的目录,并且是他拥有的app/__init__.py
from flask import Flask
app = Flask(__name__)
from app import views
在他的作品中
from app import app
这些东西到底是什么?!
这确实有点让人困惑,因为名字选择不当。
app = Flask(__name__)
:这里的app
是一个WSGI应用程序,它实现了相应的接口,并且还支持Flask提供给我们的任何功能。from app import app
:从包app
中准确导入该app
对象。from app import view
:对于他要导入的究竟是什么,views
有点神秘,我想他想确保视图绑定被执行。(我宁愿在run.py
中这样做)。无论如何,这是两个模块之间的一种导入循环,至少也会让人困惑。我认为主要的困惑在于:
您有一个名为“app”的python包(包含
__init__.py
文件的文件夹)。从这个文件夹中,您现在正在导入您在__init__.py
文件中定义的变量“app”:将app中的文件夹重命名为“myproject”。那你就给我打电话
此外,您还可以将视图导入为
作者通过选择一个与Flask常用的应用程序对象实例名相同的包名,使代码变得不必要地混乱。这是你最感兴趣的:
下面是烧瓶应用程序对象的文档:
http://flask.pocoo.org/docs/api/#application-object
为了避免混淆,我建议使用official Flask documentation而不是该指南。
相关问题 更多 >
编程相关推荐