烧瓶:每条路线都在自己的模块文件中?

时间:2018-07-12 20:39:39

标签: python python-3.x flask restful-architecture

我正在开发一个flask应用程序,该应用程序既是常规网站(提供HTML)又是JSON API。它的结构是这样的(使用apisite的蓝图)

Project
 |
 +-- views
 |  |  
 |  +-- api.py      <-- all routes for api
 |  +-- site.py     <-- all routes for regular site
 |
 +-- __init__.py
 +-- category.py    <-- main project dir contains shared object modules
 +-- helpers.py
 +-- product.py  
 ...

行之有效,除了随着项目的发展,在api.pysite.py模块中包含所有路由会导致它们长一英里。

我想像这样将每条路线分成自己的模块:

 Project
 |
 +-- views
 |  |  
 +  |-- api
 |  |  |
 |  |  +-- __init__.py 
 |  |  +-- cart.py        <-- each route has its own file
 |  |  +-- category.py
 |  |  +-- user.py 
 |  |  +-- ... 
 |  |  |
 +  |-- site 
 |  |  +-- __init__.py 
 |  |  +-- cart.py
 |  |  +-- category.py
 |  |  +-- user.py 
 |  |  +-- ... 
 |  |   
 +-- __init__.py
 +-- category.py 
 +-- helpers.py
 +-- product.py     
 ...

或者至少分成与/user分组在一起的模块,并且所有/user/*子路由都将放入./views/api/user.py(例如)。

这如何完成?还是有更好的方法?

1 个答案:

答案 0 :(得分:0)

在进一步研究蓝图时,我意识到我并没有真正完全理解和利用它们。它们的主要目的之一是对一英里长的路由模块进行分块化。