在一个项目中如果有前台系统和后台系统, 我的文件结构如下:
-总目录:
    -后台系统文件夹:
        -model 文件夹(存放数据模型)
        -view 文件夹(存放视图文件)
    -前台系统文件夹:
        -model 文件夹(存放数据模型)
        -view 文件夹(存放视图文件)
    -后台系统启动文件.py
    -前台系统启动文件.py
在后台系统中会对前台系统中的数据进行增删改查,在后台系统中直接导入使用前台系统中的 model 是会报错的, 然后我选择在后台系统中继承前台系统中的 model,然后再进行增删改查的操作,但是这种方法会触发 mysql 的事务操作,最终导致连接池溢出, 所以想请教大家,这种情况下的 flask 项目,大家是如何处理结构的啊?
|      1renmu      2019-11-13 15:44:38 +08:00 via Android 你在前台定义接口后给后台用,不要直接操作数据库(尽快前后端分离吧 | 
|  |      3Latin      2019-11-13 16:02:03 +08:00 https://sm.ms/image/oYPrtqfEn2MKIOy 我还是选择黏在一起 | 
|  |      4ipwx      2019-11-13 16:07:04 +08:00 你程序可以一个软件包写完,方便互相引用。但是你前后台系统完全可以启动两个进程或者 uwsgi host 呀~ 这有啥困难的。然后 nginx 做一下 dispatch 不就行了。 如果前台系统要向后台系统插任务,就再上 celery 框架呀,然后队列就变成了第三个进程。 | 
|      5anaf      2019-11-13 16:12:57 +08:00 楼上才是正常的目录  !↑ | 
|  |      6Vegetable      2019-11-13 16:15:23 +08:00 我这里前台后台是共用一套 model 的,而不是定义在两个地方. 后台存在的意义难道不是管理前台的 model 吗?这个分开我觉得不太合理 | 
|  |      7huijiewei      2019-11-13 16:26:22 +08:00 --core --modules ----backend ----frontend | 
|  |      8whoosy      2019-11-13 16:40:11 +08:00 @Latin 咱们是不是一个公司的?  | 
|  |      9kayseen OP @Vegetable  麻烦问一下你的结构,是不是下面这样的: ``` -总目录: -后台系统文件夹: -view 文件夹(存放视图文件) -前台系统文件夹: -view 文件夹(存放视图文件) -model 文件夹(存放数据模型) -后台系统启动文件.py -前台系统启动文件.py ``` | 
|  |      10yunchuanwu      2019-11-13 16:54:58 +08:00 一个库的话应该用一个 models.py 解决的,migration 也好做 可以用 SQLAlchemy | 
|  |      12kayseen OP | 
|  |      13hp66722667      2019-11-14 09:50:57 +08:00 @Vegetable 前台与后台公用同一个 model 不好吧,例如模型里面有些字段后台需要显示,前台却不能显示岂不是很麻烦 | 
|  |      14kayseen OP @hp66722667 我选择的是继承 model,然后重写方法 | 
|  |      15hp66722667      2019-11-26 14:07:56 +08:00 @kayseen 直接分开的不就完了么,本来前后台的 model 方法也很大不同 |