Python flask RESTful:目录结构

时间:2018-07-08 13:36:03

标签: python flask flask-restful

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

  

注意:如果可能,请详细回答。

-Project
  -- venv (folder)
  -- models.py
  -- resources.py
  -- run.py
  -- views.py

由于名称不言自明,所以models.py有一个名为UserModel的类,在资源py中有许多类,例如UserRegistrationUserLoginUserLogoutAccessUserLogoutRefreshTokenRefreshAllUsers

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

api.add_resource(resources.UserRegistration, '/registration')

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

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

-Project
  -- venv
  -- Authentication
      -- login.py
      -- registration.py
      -- logout.py
      -- userLogoutRefresh.py
      ....
      ....
  -- Models
      -- UserModel.py
      ....
      ....
  -- run.py
  

正在寻找建议。

1 个答案:

答案 0 :(得分:1)

这是我通常构造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

这使我在项目发展时拥有了更加灵活和结构化的代码。例如,对于大型项目,只有一个model.py可能变得难以管理,其他项目也是如此。

此外,我更喜欢将虚拟环境保留在项目外部,因为不需要将其推送到存储库中。

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