Python-RESTful:目录结构

Python-RESTful:目录结构,python,flask,flask-restful,Python,Flask,Flask Restful,我对python和flask相当陌生,我创建了一个身份验证系统,一个基于JWT令牌的身份验证。目前我的目录结构是: 注:如有可能,请详细回答 由于名称不言自明,models.py有一个名为UserModel的类,在参考资料中,py有许多类,如UserRegistration,UserLogin,UserLogoutAccess,UserLogoutRefresh,TokenRefresh,AllUsers run.py具有与服务器相关的和应用程序初始化代码,并且端点资源定义如下: api.add

我对python和flask相当陌生,我创建了一个身份验证系统,一个基于JWT令牌的身份验证。目前我的目录结构是:

注:如有可能,请详细回答

由于名称不言自明,models.py有一个名为
UserModel
的类,在参考资料中,py有许多类,如
UserRegistration
UserLogin
UserLogoutAccess
UserLogoutRefresh
TokenRefresh
AllUsers

run.py
具有与服务器相关的和应用程序初始化代码,并且端点资源定义如下:

api.add_资源(resources.UserRegistration,'/registration')

我知道它很混乱,但我也不知道python Flask约定,每个类是否都有自己的文件,身份验证代码是否应该放在一个目录中,因为项目显然会增长

我正在考虑以下目录结构:

-Project
  -- venv
  -- Authentication
      -- login.py
      -- registration.py
      -- logout.py
      -- userLogoutRefresh.py
      ....
      ....
  -- Models
      -- UserModel.py
      ....
      ....
  -- run.py
寻找建议


这是我通常构建Flask项目的方式:

-- Project
  -- app
    -- models
      -- user.py
      -- inventory.py
    -- views
    -- routes
    -- static
      -- css
      -- images
      -- js
    -- templates
    -- utils
    -- ..
    -- settings
      -- local.py
      -- staging.py
      -- prod.py
  -- migrations 
  -- docs
  -- tests
  -- manage.py
这使我能够在项目增长时编写更灵活和结构化的代码。例如,对于更大的项目来说,使用single models.py可能会变得很难管理,其他项目也是如此

另外,我更喜欢将虚拟环境保留在项目之外,因为它不需要推送到存储库


在纯Rest API项目中,您可能不需要它的某些部分,如模板、静态等。

那么哪个文件夹包含我的
resource.py
类?我将它们放在视图下。此外,routes目录应包含不同的路由文件,并根据不同的项目模块进行分组。因此,所有与用户相关的路由都可以像
--routes->users.py
查找Flasky那样运行。
-- Project
  -- app
    -- models
      -- user.py
      -- inventory.py
    -- views
    -- routes
    -- static
      -- css
      -- images
      -- js
    -- templates
    -- utils
    -- ..
    -- settings
      -- local.py
      -- staging.py
      -- prod.py
  -- migrations 
  -- docs
  -- tests
  -- manage.py