我正在玩Python / Flask并且松散following this guide关于如何构建“大型”应用程序。我链接到我遇到麻烦的部分。
我有以下设置:
/project
/app
__init__.py
/mod_users
__init_.py
controllers.py
models.py
requirements.txt
我的/project/app/__init__.py
看起来像这样。
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config.update(dict(
SQLALCHEMY_DATABASE_URI='postgresql://localhost/python_app',
SECRET_KEY='development key',
USERNAME='davidadams',
PASSWORD=''
))
db = SQLAlchemy(app)
from .mod_users.controllers import mod_users
app.register_blueprint(mod_users)
db.create_all()
我相对引用mod_users
包。这有效,但它不像指南的样子。如果我将其更改为指南的方式,我会收到模块未找到错误。
app.mod_users.controllers import mod_users
我是否错过了某个地方才能完成这项工作?指南错了吗?
如果重要的话,我正在使用export FLASK_APP=app && flask run
来运行该应用。
答案 0 :(得分:0)
我是否错过了某个地方才能完成这项工作?指南错了吗?
您所做的解决方法是正确的。但是你做的不仅仅是指南。
该指南未提及有关在CLI中运行烧瓶
的任何内容在文档之后,largeapp将由run.py运行。
文件夹结构
/project
run.py
/app
__init__.py
/mod_users
<强> run.py 强>
from app import app
app.run(host='0.0.0.0', port=5000, debug=True)
注意:mod_user
的路径可以是
from mod_users.controllers import mod_users
from app.mod_users.controllers import mod_users
然后按照以下命令运行
python run.py
通过命令
在CLI中运行flaskexport FLASK_APP=app && flask run
因为您已导出路径,所以很少需要更改。
<强> 1。 mod_user的路径只能是
from mod_users.controllers import mod_users
新文件夹目录
/project
#2. Do not need `run.py` anymore
/app
app.py #3. Rename `app/__init__.py` into `app/app.py`
/mod_users