This topic created in 4264 days ago, the information mentioned may be changed or developed.
有一需求:Web 框架用 Flask 在同一个项目内(例:Project)目录结构如下
myProject
|- app1
|- app2
|- Flask-app
app1 是一个简单爬虫, app2 是一个数据分析,能不能定义一组 Model 使这三个 app 都共用这一组 model,并且使项目结构如下:
myProject
|- app1
|- app2
|- Flask-app
|- models
P.S. 已用 Flask-SQLalchemy
5 replies • 2014-09-21 13:41:21 +08:00
 |
|
1
bcxx Sep 19, 2014
把 model 抽出来当作一个 package,各个 app 进行安装并 import 就好了。如果有不是用 flask-sqlalchemy 的 app,就用原始的 sqlalchemy 写法就好。
|
 |
|
2
reorx Sep 19, 2014
楼上 +1,把 model 层与 flask 解耦。其实 flask-sqlalchemy 除了让 sqlalchemy 的配置可以统一到 flask 配置中,没做多少与 flask 有关的事情,建议直接使用 sqlalchemy,并把数据库配置独立出来。
|
 |
|
3
shajiquan Sep 21, 2014
用 sqlalchemy 原生的吧。这样可以随意用在任何一个项目里边,如果是 flask-sqlalchemy 的话,就不行了。你可以自己把 flask-sqlalchemy 的分页啊什么的弄过去。
|
 |
|
4
geew Sep 21, 2014
model独立开来不就好了吗 别跟项目耦合太紧 直接用sqlalchemy就行了嘛
|
 |
|
5
shajiquan Sep 21, 2014
我一直用 tornado + plain sqlalcmey 做开发,前段时间开始用 flask,看到 flask-sqlalchemy 挺简单,加了些封装的小工具,挺不错。不过后来想了想还是用 plain sqlalchemy 来做 models,这样的话: flask 应用完全可以使用,不存在任何问题。 我另外的 tornado 应用也可以直接使用,不存在任何问题。 我另外的 udp server 也可以直接使用,不存在任何问题。
sqlalchemy 本身就可以完成 N 多事情,flask 只不过封装了一下,建议不要和任何一个框架耦合。
|