84669인 학습
152542인 학습
20005인 학습
5487인 학습
7821인 학습
359900인 학습
3350인 학습
180660인 학습
48569인 학습
18603인 학습
40936인 학습
1549인 학습
1183인 학습
32909인 학습
有一需求:Web 框架用 Flask 在同一个项目内(例:Project)目录结构如下
myProject |- app1 |- app2 |- Flask-app
app1 是一个简单爬虫, app2 是一个数据分析,都不是 Flask 应用,能不能定义一组 Model 使这三个 app 都共用这一组 model,并且使项目结构如下:
myProject |- app1 |- app2 |- Flask-app |- models
P.S. 已用 Flask-SQLalchemy
小伙看你根骨奇佳,潜力无限,来学PHP伐。
可以,最简单的方式是,sys.path.append('models所在的目录'),然后就可以import了
如果多个框架混用的话,那你就用纯 sqlalchemy,不要使用 flask-sqlalchemy。
1、在项目根目录下,也就是你的myProject目录下,创建一个initdb.py,用户初始化SQLAlchemy,例如:
initdb.py
from flask.ext.sqlalchemy import SQLAlchemy __all__ = ['db'] db = SQLAlchemy()
2、同样,根目录下创建一个共用的application.py文件,里面用于创建app,例如:
application.py
from initdb import db def create_app(app): db.init_app(app) return app
3、在每个单独app中创建__init__.py文件,用于初始化app,例如:
__init__.py
from flask import Flask app = Flask(__name__)
4、在每个单独app中再创建app.py文件,用于启动该单独app,例如:
app.py
import sys sys.path.append('你的项目根目录,也就是你的myProject') from application import create_app from app1 import app as _app application = create_app(_app) if __name__ == "__main__": application.run(port=9000, host='0.0.0.0', debug=True)
5、可以在根目录下创建一个models目录,用于存放所有的数据库模型。 6、在view中使用的时候只需要将需要的import进来就可以了。
models
import
可以,最简单的方式是,sys.path.append('models所在的目录'),然后就可以import了
如果多个框架混用的话,那你就用纯 sqlalchemy,不要使用 flask-sqlalchemy。
1、在项目根目录下,也就是你的myProject目录下,创建一个
initdb.py
,用户初始化SQLAlchemy,例如:2、同样,根目录下创建一个共用的
application.py
文件,里面用于创建app,例如:3、在每个单独app中创建
__init__.py
文件,用于初始化app,例如:4、在每个单独app中再创建
app.py
文件,用于启动该单独app,例如:5、可以在根目录下创建一个
models
目录,用于存放所有的数据库模型。6、在view中使用的时候只需要将需要的
import
进来就可以了。