支持 MongoDB ORM 的 CherryPy REST Web 服务框架
项目描述
莫樱桃
MoCherry 围绕 CherryPy 和 mongoengine 构建,以支持具有极低内存占用的 REST 网络服务,支持 MongoDB ORM,内置生产就绪 WSGI 服务器和更快的初始化。
特征
- 内置 REST Web 服务支持
- MongoDB ORM 支持 MongoEngine 插件
- 类似于 Django 的可用性和文件系统结构,以减少学习曲线
- 低内存占用
- 内置 CherryPy WSGI 服务器
- 内置基本加密支持
- 麻省理工学院许可
安装
MoCherry 已经是 python PyPi 存储库的一部分。因此,以下命令将从 PyPi 存储库下载并安装 MoCherry,以及它对您的系统或 virtualenv 所需的所有依赖项。
$ pip install mocherry
创建您的第一个项目
现在 MoCherry 包含一个 cli 脚本,它使开发人员能够从命令行创建示例项目/应用程序,而无需从 github 手动下载。步骤如下:
创建项目骨架
$ mocherry-cli startproject "my_project_001"
Downloading sample project: https://github.com/techunits/mocherry/blob/master/mocherry/resources/samples/project.zip?raw=true
Creating new project: my_project_001
$ cd my_project_001
$ python manage.py runserver # start WSGI server
[20/Jan/2020:00:52:20] ENGINE Listening for SIGTERM.
[20/Jan/2020:00:52:20] ENGINE Bus STARTING
[20/Jan/2020:00:52:20] ENGINE Set handler for console events.
[20/Jan/2020:00:52:20] ENGINE Started monitor thread 'Autoreloader'.
[20/Jan/2020:00:52:21] ENGINE Serving on http://localhost:9090
[20/Jan/2020:00:52:21] ENGINE Bus STARTED
创建应用程序骨架
假设您已经按照上述步骤创建了一个项目,那么您必须进入该项目并根据您的要求创建应用程序骨架。
# Application name: app_001
$ mocherry-cli startapp "app_001"
Downloading sample app: https://github.com/techunits/mocherry/blob/master/mocherry/resources/samples/app.zip?raw=true
Creating new app: app_001
# Application name: app_002
$ mocherry-cli startapp "app_002"
Downloading sample app: https://github.com/techunits/mocherry/blob/master/mocherry/resources/samples/app.zip?raw=true
Creating new app: app_002
$ python manage.py runserver # start WSGI server
[20/Jan/2020:00:52:20] ENGINE Listening for SIGTERM.
[20/Jan/2020:00:52:20] ENGINE Bus STARTING
[20/Jan/2020:00:52:20] ENGINE Set handler for console events.
[20/Jan/2020:00:52:20] ENGINE Started monitor thread 'Autoreloader'.
[20/Jan/2020:00:52:21] ENGINE Serving on http://localhost:9090
[20/Jan/2020:00:52:21] ENGINE Bus STARTED
MoCherry 管理命令
MoCherry 框架还支持自定义管理命令以增强其 CLI 功能。通过框架示例代码,我们提供了一个测试命令来验证它是如何工作的
$ python manage.py testcmd
Success: This is a test command
MoCherry 样本数据集
MoCherry 从 1.0.9 版本开始提供样本数据。这应该可以帮助开发人员在不编写任何代码的情况下立即使用该框架。您可以使用以下管理命令创建示例数据。
$ python manage.py load_sample_data
Database: mongodb://localhost:27017/mocherry_sample_app
New Sample Data: 5e9abd4ab22cfec440086e60
New Sample Data: 5e9abd4ab22cfec440086e61
New Sample Data: 5e9abd4ab22cfec440086e62
New Sample Data: 5e9abd4ab22cfec440086e63
New Sample Data: 5e9abd4ab22cfec440086e64
New Sample Data: 5e9abd4ab22cfec440086e65
New Sample Data: 5e9abd4ab22cfec440086e66
New Sample Data: 5e9abd4ab22cfec440086e67
New Sample Data: 5e9abd4ab22cfec440086e68
New Sample Data: 5e9abd4ab22cfec440086e69
New Sample Data: 5e9abd4ab22cfec440086e6a
New Sample Data: 5e9abd4ab22cfec440086e6b
New Sample Data: 5e9abd4ab22cfec440086e6c
New Sample Data: 5e9abd4ab22cfec440086e6d
New Sample Data: 5e9abd4ab22cfec440086e6e