【问题标题】:Python flask RESTful: Directory structure [closed]Python烧瓶RESTful:目录结构[关闭]
【发布时间】:2018-07-08 13:36:02
【问题描述】:

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

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

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

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

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

寻找建议。

【问题讨论】:

  • 查找 Flasky。

标签: python flask flask-restful


【解决方案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

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

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

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

【讨论】:

  • 那么哪个文件夹包含我的resource.py 类?
  • 我把它们放在视图中。此外,路由目录应该包含不同的路由文件,根据不同的项目模块进行分组。所以与用户相关的所有路由都可以像-- routes - > users.py
猜你喜欢
  • 1970-01-01
  • 2020-10-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-07
相关资源
最近更新 更多