描述你的问题
在学习flask,里面多次出现from app import app,但感觉这在不同文件里意思并不一样,究竟代表着什么?贴上相关代码
文件结构:
app/
--static/
--templates/
--__init__.py
--views.py
tmp/
run.py
=============================================
在__init__.py里面:
from flask import Flask //从flask模块导入Flask对象
app = Flask(__name__) //把Flask对象生成并赋给变量app
from app import views //从变量app导入views对象?app有个views对象?views不是一个文件吗?所以是从app包里导入views文件?(views和app文件不是在同一文件夹里面吗?)
×××××××××××××××××××××××××××××××××××
在views.py里面:
from app import app //这里是怎么回事?从变量app(就是Flask对象)导入app?还是从app文件夹导入app变量(views和app不是同一个文件夹里面吗?)?
@app.route('/') //下面都是通过装饰器用于建立视图函数和URL的映射关系,能理解
@app.route('/index')
def index():
return “What does 'from app import app' really mean?”
×××××××××××××××××××××××××××××××××××8
在run.py里面:
from app import app //这个因为和app文件夹处于同一目录下,所以意思就是从app包里导入app.py文件(相当于from app文件夹 导入 app.py)?如果是这样,一个文件怎么可以有run的方法,写成了app.run()??那样应该写成from app import app,先导入文件,然后再次从文件里导入app的对象,就是再写一行from app import app,结果得写两行from app import app?
app.run(debug=True)
=====================================================
已经尝试过哪些方法仍然没解决(附上相关链接)
我知道我的理解有问题,但我感觉不同文件中的from app import app不一样,但好像又是一样的。想请教如何理解,谢谢!
手机码字。这里的app有两个意思,一个是app这个包,一个是flask实体对象。