python - Python flask RESTful:目录结构
问题描述
我对 python 和烧瓶相当陌生,我创建了一个身份验证系统,一个基于 JWT 令牌的身份验证。目前我的目录结构是:
注意:如果可能,请详细回答。
-Project
-- venv (folder)
-- models.py
-- resources.py
-- run.py
-- views.py
由于名称是不言自明的,models.py 有一个名为 的类UserModel
,在资源中,py 有许多类,如UserRegistration
, UserLogin
, UserLogoutAccess
, UserLogoutRefresh
, TokenRefresh
, 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
寻找建议。
解决方案
这就是我通常如何构建我的 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 项目中,您可能不需要它的某些部分,例如模板、静态等。
推荐阅读
- r - Mclust 因小数据集而冻结
- python - Django 可写嵌套序列化器和 django-polymorphic
- flutter - 颤振钩子。在哪里“请求权限”,因为它没有 initState
- python - 使用管道将 MinMaxScaler() 应用于 RFECV()
- reactjs - 将 Redux Thunk 集成到异步查询中
- flutter - 无法在 Flutter Web 中发送短信
- python - 在 django 项目中迁移时显示错误
- sharepoint - 在 BizTalk 中,无法将文件从本地发送到在线 SharePoint
- php - 主 js 文件和字体真棒文件在本地主机上工作正常,但在线给出 403,404 错误
- kubernetes - 为什么当 CrashLoopBackOff pod 超过 maxUnavailable 时 k8s 滚动更新没有停止更新