[英]importing sub-modules in python
我正在使用Python / Flask,并大致遵循本指南 ,了解如何构建“大型”应用程序。 我链接到遇到麻烦的部分。
我有以下设置:
/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
运行该应用程序。
我是否错过了进行这项工作的地方? 指南有误吗?
您所做的解决方法是正确的。 但是您所做的不只是指南。
该指南未提及在CLI中运行flask的任何内容
在该文档之后,largeapp将由run.py运行。
文件夹结构
/project
run.py
/app
__init__.py
/mod_users
运行
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
通过命令
export FLASK_APP=app && flask run
在CLIexport 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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.